我有一个包含记录的表
id note date timestamp
1 ABCD 2014-08-18 2014-08-18 08:33:49
2 ABCDE 2014-08-18 2014-08-18 08:33:49
3 ABCDEF 2014-08-19 2014-08-18 08:33:49
4 XYZ 2014-08-19 2014-08-19 15:25:15
5 ABCD 2014-08-20 2014-08-19 15:25:15
6 ABCD 2014-08-19 2014-08-20 19:30:02
我需要分组“注意”&选择上次时间戳创建的值。
我的预期输出应为:
id note date timestamp
2 ABCDE 2014-08-18 2014-08-18 08:33:49
3 ABCDEF 2014-08-19 2014-08-18 08:33:49
4 XYZ 2014-08-19 2014-08-19 15:25:15
6 ABCD 2014-08-19 2014-08-20 19:30:02
我正在使用查询
SELECT Field1, Field2, Max(TimeStamp) maxTime FROM table GROUP BY Field1
来自帖子“MySQL Select Group of Records Based on latest timestamp”
但查询选择上一个时间戳,但日期字段将是以前的记录..
请检查SQL小提琴:http://sqlfiddle.com/#!2/92a0ab/1并让我知道我错在哪里,或者有人可以帮我正确查询!!!
答案 0 :(得分:4)
你可以尝试
SELECT * FROM (SELECT * FROM table ORDER BY timestamp DESC) AS a GROUP BY a.note ORDER BY a.timestamp
我觉得它对你有帮助:)。