首页 > 解决方案 > 如何只获取每天的第一条记录?

问题描述

如何只获取每天的第一条记录?

id | name | date
1  | aaa  | 2018-05-10
2  | bbb  | 2018-05-10
3  | ccc  | 2018-05-10
4  | ddd  | 2018-05-11
5  | eee  | 2018-05-11
6  | fff  | 2018-05-13

我想收到:

1  | aaa  | 2018-05-10
4  | ddd  | 2018-05-11
6  | fff  | 2018-05-13

标签: sqlgreatest-n-per-group

解决方案


对于 Postgres,有一个更有效的解决方案:

select distinct on (id) id, name, date
from the_table
order by id, date;

推荐阅读