同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 取每組前幾條記錄的SQL寫法

取每組前幾條記錄的SQL寫法

來源: | 時間:2011/4/15 15:55:19 |

對于表test2(id是主鍵),有:

SELECT [id], [title], [typeid], [datetime] FROM [xahh].[dbo].[test2]

id     title    typeid datetime
1    1.1       1           1
2     1.2      1           2
3     1.3      1           3
4     2.1      2           4
5     2.2      2           5
6     2.3      2           6
7     3.1      3           7
8     3.2      3           8
9     3.3       3           9

取每個typeid的最大datetime的2條:

第一種取法:

select * from test2 a where
   (select count(*) from test2 b where b.typeid = a.typeid and a.datetime< b.datetime) <=1
order by typeid, datetime desc

[解釋:相同typeid的記錄中比該記錄datetime小的記錄數(shù)不能大于1,可以保證該記錄在前2條]

結(jié)果
id     title    typeid datetime
3     1.3     1          3
2     1.2     1          2
6     2.3     2          6
5     2.2     2          5
9     3.3     3          9
8     3.2    3          8

第二種取法:

select * from test2 a where a.id in
   (select top 2 b.id from test2 b where b.typeid = a.typeid order by datetime desc)
order by typeid, datetime desc

結(jié)果
id     title    typeid datetime
3     1.3     1          3
2     1.2     1          2
6     2.3     2          6
5     2.2     2          5
9     3.3     3          9
8     3.2    3          8

PS:不知道有沒有不用子查詢的。

服務(wù)熱線

153 8323 9821

功能和特性

價格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號