编写查询以选择具有相同列数据的行之一

时间:2013-04-03 21:14:49

标签: sql-server tsql

我有一张表(测试),其中包含以下数据

code  Name   relatedCode

   1    A         0
   2    B         1
   3    C         1
   4    D         0

我想写一个查询来选择:

1   A
2   B
4   D

表示在具有相同relatedCode的行2,3之间只选择其中一个

1 个答案:

答案 0 :(得分:1)

SELECT  code, name
FROM    (
        SELECT  *,
                ROW_NUMBER() OVER (PARTITION BY relatedCode ORDER BY code) rn
        FROM    test
        ) q
WHERE   rn = 1