列 1 のレコードが重複しているテーブルからデータを返すクエリがありますが、他の列には異なる値がある可能性があります。正しいレコードを選択する基準を使用して、列 1 の値ごとに 1 つのレコードのみをビューに取り込みたいと考えています。
これがクエリです。
SELECT
PrimaryColumn1,
Column2,
Column3,
Date1,
Date2
FROM
My_Table
PrimaryColumn1
の最新の日付に基づいて作成しているビューに個別の値のみを表示したいと思いますDate1
。それが重複している場合は、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