いくつかの結果を生成するクエリがあります。IDとして複数の列を1つに連結しました。ID が一意である行のみを表示したい。
以下の画像は私のテーブルの例です:
ご覧のとおり、ID は数回繰り返されます。3 つの一意の行のみを表示するクエリを作成するにはどうすればよいですか?
このクエリをネストして使用するとdistinct(RowID)
、3 つの行が表示されますが、残りの列を表示できませんか?
どんなアイデアでも大歓迎です。ありがとうございました!
いくつかの結果を生成するクエリがあります。IDとして複数の列を1つに連結しました。ID が一意である行のみを表示したい。
以下の画像は私のテーブルの例です:
ご覧のとおり、ID は数回繰り返されます。3 つの一意の行のみを表示するクエリを作成するにはどうすればよいですか?
このクエリをネストして使用するとdistinct(RowID)
、3 つの行が表示されますが、残りの列を表示できませんか?
どんなアイデアでも大歓迎です。ありがとうございました!
すべての列の選択でdistinctを使用する
クエリ:
select distinct RowID, OrderNum, cDescription, Thickness, UllTimberThickness, Width, UllTimberWidth, Length
from YourTable
「3つの一意の行を取得する」の意味に少し混乱しています。
一意の行を意味する場合はcount(*)
、ウィンドウ関数として使用します。
select *
from (select t.*,
count(*) over (partition by id) as cnt
from t
) t
where cnt = 1;
各行の一例を意味する場合は、次を使用しますrow_number()
。
select *
from (select t.*,
row_number(*) over (partition by id order by (select NULL)) as seqnum
from t
) t
where seqnum = 1;