这是我的主表,其中包含此类记录
id | a_id | datetime
------------------------
1 | 1 | 2016-01-07 15:42:14
2 | 1 | 2016-01-08 16:42:14
3 | 1 | 2016-01-09 17:42:14
4 | 2 | 2016-01-07 15:42:14
5 | 2 | 2016-01-08 16:42:14
6 | 2 | 2016-01-09 17:42:14
7 | 2 | 2016-01-10 18:42:14
8 | 2 | 2016-01-11 19:42:14
我希望输出如下:
id | a_id | amount
------------------------
3 | 1 | 2016-01-09 17:42:14
8 | 2 | 2016-01-11 19:42:14
我怎样才能获得这种输出?
我试过这个SELECT * FROM(SELECT * FROM表ORDER BY datetime DESC)作为tbl GROUP BY a_id
另外我想检查半小时前是否有任何记录插入表格。
答案 0 :(得分:0)
如果您不关心性能,可以使用IN运算符w / column datetime和子查询w / MAX()。
SELECT
*
FROM
tbl
WHERE
`datetime` IN
(
SELECT MAX(tbl2.`datetime`)
FROM tbl tbl2
WHERE tbl.a_id = tbl2.a_id
)