Ash*_*hin 1 sql sql-server sql-server-2012
如果我有这样的表格:
Id StateId Name
1 1 a
2 2 b
3 1 c
4 1 d
5 3 e
6 2 f
Run Code Online (Sandbox Code Playgroud)
我想选择如下:
Id StateId Name
4 1 d
5 3 e
6 2 f
Run Code Online (Sandbox Code Playgroud)
例如,Ids 1,3,4具有stateid 1.因此选择具有最大Id的行,即4.
; WITH CTE AS
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY STATEID ORDER BY ID DESC) AS RN
)SELECT ID, STATEID, NAME FROM CTE WHERE RN = 1
Run Code Online (Sandbox Code Playgroud)