sql数据库怎么实现分组并取每组的前1条语句,按日期排序?
展开全部
select * from
(
select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组
, * -- 所需显示的字段
from 表
) as T
where T.rownum = 1
对每组的数据按日期排序并加上行号
取出时只取行号为1,也就是第一条数据。
(
select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组
, * -- 所需显示的字段
from 表
) as T
where T.rownum = 1
对每组的数据按日期排序并加上行号
取出时只取行号为1,也就是第一条数据。
更多追问追答
追问
这种方法,能同时一次对两个字段分组波,即两个字段内容相同为一组
追答
可以的
逗号分开
select * from
(
select row_number() over(partition by 'Gr1',‘Gr2’[, ...]
order by 'Sort1', 'Sort2'[, ...]) as rownum -- 排序并分组
, * -- 所需显示的字段
from 表
) as T
where T.rownum = 1
展开全部
你对分组的理解不到位
分组是指把可些的数据使用聚合函数(max,min,avg)等计算
分组后的每组本身会变成一行
不存在每组的前一条
分组是指把可些的数据使用聚合函数(max,min,avg)等计算
分组后的每组本身会变成一行
不存在每组的前一条
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 1 * from 表 group by 分组条件 order by 日期
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询