最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
sql数据分组(GROUP BY)最大值,第一条,前三条实例
时间:2022-06-29 08:12:49 编辑:袖梨 来源:一聚教程网
取分组前三第记录
代码如下 | 复制代码 |
SELECT 课程, |
取分组第一第记录
例
表Demo的数据都是字符串类型,按照顺序的时间Time(也是字符串)排序的记录如下:
Num Name Time
1 a 2009/05/01
1 a 2009/05/02
1 a 2009/05/03
2 b 2009/05/04
2 b 2009/05/05
3 c 2009/05/06
3 c 2009/05/07
5 e 2009/05/08
1 a 2009/05/09
1 a 2009/05/10
我想输出类似按照Num分组的每组的第一条数据记录,比如上面的记录我想操作后得到如下记录:
Num Name Time
1 a 2009/05/01
2 b 2009/05/04
3 c 2009/05/06
5 e 2009/05/08
1 a 2009/05/09
sql代码
代码如下 | 复制代码 |
declare @Tab table
select * from @Tab t where not exists(select 1 from @Tab where num=t.num and [time]
/*
(4 行受影响) |
取分组最大记录
示例:test 表 a b c
1 5 abc
2 6 bcd
1 7 ade
2 8 adc
若取按a列分组后,b列最大,的所有列的记录:
result a b c
1 6 bcd
2 8 adc
可以使用如下语句:
代码如下 | 复制代码 |
select * from test where b in (select max(id) from test group by a) 适用于所有数据库: select t1.a,t1.b,t1.c from test t1 inner join (seelct a,max(b) as b from test group by a) t2 on t1.a=t2.a and t1.b=t2.b 适用于所有数据库: select a,b,c from( select a,b,c ,row_number()over(partition by a order by b desc) rn from test ) where rn=1 |
相关文章
- 《弓箭传说2》新手玩法介绍 01-16
- 《地下城与勇士:起源》断桥烟雨多买多送活动内容一览 01-16
- 《差不多高手》醉拳龙技能特点分享 01-16
- 《鬼谷八荒》毕方尾羽解除限制道具推荐 01-16
- 《地下城与勇士:起源》阿拉德首次迎新春活动内容一览 01-16
- 《差不多高手》情圣技能特点分享 01-16