【发布时间】:2012-12-07 22:54:51
【问题描述】:
我有一个查询从表中返回数据,该表的第 1 列有重复记录,但其他列中可能有不同的值。我只想将第 1 列中的每个值的一条记录带入使用标准选择正确记录的视图中。
这里是查询;
SELECT
PrimaryColumn1,
Column2,
Column3,
Date1,
Date2
FROM
My_Table
我希望在我根据Date1 中的最新日期创建的视图中只有 PrimaryColumn1 中的不同值,如果这也是重复的,则在 Date2 中。
我尝试执行以下操作,但无法使其工作
SELECT
PrimaryColumn1,
Column2,
Column3,
Date1,
Date2
FROM
(SELECT
[PrimaryColumn1,
Column2,
Column3,
Date1,
Date2,
ROW_NUMBER() OVER(PARTITION BY [Date1] ORDER BY Date2) AS RowNumber
FROM
My_Table)
WHERE
RowNumber = 1
任何帮助将不胜感激。
根据以下建议,最终查询如下所示:
SELECT
PrimaryColumn1,
Column2,
Column3,
Date1,
Date2
FROM
(SELECT
[PrimaryColumn1,
Column2,
Column3,
Date1,
Date2,
ROW_NUMBER() OVER(PARTITION BY PrimaryColumn1
ORDER BY Date1 DESC, Date2 DESC) AS RowNumber) data
WHERE
RowNumber = 1
【问题讨论】:
标签: sql view duplicates