distinct和row_number不能一起工作

时间:2013-12-17 20:49:44

标签: sql sql-server tsql

我想获得一个唯一名称列表以及一个行计数列,以便它看起来像这样:

1 wilford building
2 oxford center
3 williams place

我需要那里的独特,所以我只获得每个建筑物名称一次。

SELECT R.RowNum, 
       R.COLUMN_NAME
FROM
(
    SELECT ROW_NUMBER() OVER (PARTITION BY buildingName 
                              ORDER BY buildingName ) AS RowNum, 
           DISTINCT buildingName AS COLUMN_NAME 
    FROM cityStatus 
) AS R

但是,事实并非如此。

是否可以将DISTINCTROW_NUMBER()一起使用?

2 个答案:

答案 0 :(得分:5)

SELECT
  buildingName,
  ROW_NUMBER() OVER(ORDER BY buildingName) AS RowNum
FROM cityStatus
GROUP BY buildingName

答案 1 :(得分:2)

先做清楚的事了:

SELECT 
     row_number() over(partition by buildingName ORDER BY buildingName ) AS RowNum
    ,COLUMN_NAME 
from (
    select 
         DISTINCT buildingName AS COLUMN_NAME 
    FROM cityStatus
) as cityStatus