22,209
社区成员
发帖
与我相关
我的任务
分享
DECLARE @t TABLE (
id INT IDENTITY(1,1) PRIMARY KEY,
clickCnt INT
)
INSERT INTO @t (clickcnt) VALUES(200)
INSERT INTO @t (clickcnt) VALUES(300)
INSERT INTO @t (clickcnt) VALUES(400)
INSERT INTO @t (clickcnt) VALUES(500)
INSERT INTO @t (clickcnt) VALUES(700)
INSERT INTO @t (clickcnt) VALUES(200)
INSERT INTO @t (clickcnt) VALUES(2500)
INSERT INTO @t (clickcnt) VALUES(3000)
INSERT INTO @t (clickcnt) VALUES(2200)
INSERT INTO @t (clickcnt) VALUES(2300)
INSERT INTO @t (clickcnt) VALUES(2200)
INSERT INTO @t (clickcnt) VALUES(4000)
INSERT INTO @t (clickcnt) VALUES(5000)
;WITH t AS (
SELECT ROW_NUMBER() OVER (ORDER BY clickcnt DESC) AS rowNum,* FROM @t
)
SELECT * FROM t WHERE rowNum<=10
/*
rowNum id clickCnt
1 13 5000
2 12 4000
3 8 3000
4 7 2500
5 10 2300
6 11 2200
7 9 2200
8 5 700
9 4 500
10 3 400
*/