1

いくつかの結果を生成するクエリがあります。IDとして複数の列を1つに連結しました。ID が一意である行のみを表示したい。

以下の画像は私のテーブルの例です:

ここに画像の説明を入力

ご覧のとおり、ID は数回繰り返されます。3 つの一意の行のみを表示するクエリを作成するにはどうすればよいですか?

このクエリをネストして使用するとdistinct(RowID)、3 つの行が表示されますが、残りの列を表示できませんか?

どんなアイデアでも大歓迎です。ありがとうございました!

4

4 に答える 4

1

すべての列の選択でdistinctを使用する

クエリ:

select distinct RowID, OrderNum, cDescription, Thickness, UllTimberThickness, Width, UllTimberWidth, Length
from YourTable
于 2013-07-18T19:45:23.233 に答える
0

「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;
于 2013-07-18T20:03:13.240 に答える