每个ID选择一行

时间:2011-12-13 08:46:03

标签: sql sql-server-2008

我有以下表格:

180555  <id>404</id>    Meetjesland 404 2067    314
180555  <id>404</id>    Aalter      405 2067    404
504684  <id>2104</id>   Ballonvaart 723 2067    722
504684  <id>778</id>    Activiteit  1086 2067   313

我需要按ID(左栏)对此进行分组 所以看起来应该是这样的

180555  <id>404</id>    Meetjesland 404 2067    314
504684  <id>2104</id>   Ballonvaart 723 2067    722

我的意思是,具有相同ID的第二,第三,......行不会提供更多信息,因此事实上不应该显示。我不能做dintinct因为有些列有不同的值..

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

这将为每列选择一个任意行。
您无法选择所需的行

SELECT
   ...
FROM
    (SELECT
       *,
       ROW_NUMBER() OVER (PARTITION BY Column1 ORDER BY (SELECT 1)) AS rn
    FROM
       MyTable
    ) foo
WHERE
   rn = 1