sql数据库怎么实现分组并取每组的前1条语句,按日期排序?

2025-03-05 10:44:09
推荐回答(3个)
回答1:

select * from
(
select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组
, * -- 所需显示的字段
from 表
) as T
where T.rownum = 1

对每组的数据按日期排序并加上行号
取出时只取行号为1,也就是第一条数据。

回答2:

你对分组的理解不到位
分组是指把可些的数据使用聚合函数(max,min,avg)等计算
分组后的每组本身会变成一行
不存在每组的前一条

回答3:

select top 1 * from 表 group by 分组条件 order by 日期