tsql-返回重复的行id';他在一排

tsql-返回重复的行id';他在一排,sql,sql-server,Sql,Sql Server,我已在表中识别出“重复记录”。虽然我声称它们是重复的,但PK是一个标识列-因此它们不是真正的重复(但基于其他列-它们是) 我目前在一个表格中有以下格式的数据: ID -> identity column Row -> indicates the sequential row number RowNumber -> indicates that two of the rows are identical 例如: ID Row RowNumber 500

我已在表中识别出“重复记录”。虽然我声称它们是重复的,但PK是一个标识列-因此它们不是真正的重复(但基于其他列-它们是)

我目前在一个表格中有以下格式的数据:

ID -> identity column 
Row -> indicates the sequential row number 
RowNumber -> indicates that two of the rows are identical 
例如:

ID    Row      RowNumber
500    1        1000 
501    2        1000 
305    1        1050 
306    2        1050
我只想为每一行号返回一行中的ID

例如,上述结果集为:

500  501
305  306 

有什么建议吗

单向,使用
行号
和:

如果要删除重复项,请用替换
选择

DELETE FROM CTE WHERE RN > 1 
案例
语句有效:

SELECT 
    RowNumber,
    MAX(CASE WHEN "Row" = 1 THEN ID ELSE NULL END) AS "1", 
    MAX(CASE WHEN "Row" = 2 THEN ID ELSE NULL END) AS "2"
FROM #Table
GROUP BY RowNumber


那么,这些是应该出现在单独的列中,还是一列之间有空格?
的最大值是多少?是否只有两个重复项,或者是否有多个重复项,因此结果将是多个列?它们应该是两个单独的列。
CREATE TABLE #Table 
(
ID         INT,
"Row"      INT,
RowNumber  INT
)

INSERT INTO #Table 
VALUES
  (500,1,1000),
  (501,2,1000),
  (305,1,1050),
  (306,2,1050)
SELECT 
    RowNumber,
    MAX(CASE WHEN "Row" = 1 THEN ID ELSE NULL END) AS "1", 
    MAX(CASE WHEN "Row" = 2 THEN ID ELSE NULL END) AS "2"
FROM #Table
GROUP BY RowNumber
SELECT
    RowNumber,
    "1",
    "2"
FROM
    (SELECT "Row",ID, RowNumber FROM #Table) AS SourceTable
    PIVOT
    (
    MAX(ID) 
    FOR "Row" IN ("1","2")
    ) AS PivotTable