取分组前三第记录
| 代码如下 | 复制代码 |
|
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 |
|
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏