选择单个和重复行并返回多个列

时间:2014-01-21 07:36:42

标签: sql sql-server

我目前正在使用SQL Server中的数据库。我有一个包含23个字段的表,它有单行和重复行。如何在没有任何重复数据的情况下选择它们。 我试过这个问题:

 SELECT
     Code, Stuff, and other fields....
     FROM
     (
        SELECT
            *,ROW_NUMBER() OVER (PARTITION BY Code ORDER BY Code) AS RN
        FROM
            my_table
     )t
     WHERE RN = 1

上面的代码只返回重复行中的数据。但是,我希望“单行”也返回。

这是插图。

enter image description here

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

可能就像这样简单:

SELECT DISTINCT Code, Stuff FROM MyTable

或者,只需在分区中添加内容:

PARTITION BY Code,Stuff ORDER BY Code

答案 1 :(得分:1)

试试这个

您可能需要在 Partition BY

中添加Stuff和更多字段
 SELECT
     Code, Stuff
     FROM
     (
        SELECT
            *,ROW_NUMBER() OVER (PARTITION BY Code,Stuff ORDER BY Code) AS RN
        FROM
            my_table
     )t
     WHERE RN = 1