Ale*_*eks 0 sql sql-server time select group-by
我有下表:
id value date
--------- --------- ----------
1 324 2017-05-19 02:00:00
2 564 2017-05-19 04:00:00
3 675 2017-05-19 03:00:00
3 642 2017-05-19 05:00:00
4 642 2017-05-19 07:00:00
5 642 2017-05-19 06:00:00
6 642 2017-05-19 05:00:00
6 642 2017-05-19 12:00:00
7 642 2017-05-19 01:00:00
8 642 2017-05-19 13:00:00
8 642 2017-05-19 02:00:00
Run Code Online (Sandbox Code Playgroud)
我想GROUP BY在id列,但也选择了value和date时下令从第一排柱date下降,与id。
结果应该是这样的:
id value date
--------- --------- ----------
1 324 2017-05-19 02:00:00
2 564 2017-05-19 04:00:00
3 642 2017-05-19 05:00:00
4 642 2017-05-19 07:00:00
5 642 2017-05-19 06:00:00
6 642 2017-05-19 12:00:00
7 642 2017-05-19 01:00:00
8 642 2017-05-19 13:00:00
Run Code Online (Sandbox Code Playgroud)
这样的事情应该工作:
SELECT t1.id, t1.value, t1.date
FROM your_table t1
INNER JOIN (
SELECT id, MAX(date) date
FROM your_table
GROUP BY id
) t2
ON t1.id = t2.id AND t1.date = t2.date
Run Code Online (Sandbox Code Playgroud)