Jus*_*808 4 t-sql sql-server-2005
我有一个像这样设置的表:
ID int
Hash varchar
OtherID int
Run Code Online (Sandbox Code Playgroud)
一些示例数据:
1 3pm6Qav1Vd 23
2 3pm6Qav1Vd 2
3 3pm6Qav1Vd 19
4 3pm6Qav1Vd 17
5 RSUBe2VBtl 2
6 3pm6Qav1Vd 4
7 3pm6Qav1Vd 21
8 RSUBe2VBtl 23
9 RSUBe2VBtl 19
Run Code Online (Sandbox Code Playgroud)
我希望能够拉出每个哈希集的第一行:
1 3pm6Qav1Vd 23
5 RSUBe2VBtl 2
Run Code Online (Sandbox Code Playgroud)
每行都是每个哈希的最低ID.我在SQL Server 2005上使用T-SQL.我不确定从哪里开始.
SELECT t.ID, t.Hash, t.OtherID
FROM (SELECT ID, Hash, OtherID, ROW_NUMBER() OVER(PARTITION BY Hash ORDER BY ID) AS RowNum
FROM YourTable) t
WHERE t.RowNum = 1
Run Code Online (Sandbox Code Playgroud)