私は、次の表があると仮定:id1
とid2
によってグループ)Iが1にできるようにする必要SQLで異なるグループを選択していますか?
id1 id2 val
-------------
a x 123
a x 456
a y 123
a y 456
a z 123
a z 456
a z 789
b x 123
b x 456
b y 123
行および2)のみなどid1
とval
に関しては異なるグループを選択:
grp_id id1 val
----------------
1 a 123
1 a 456
2 a 123
2 a 456
2 a 789
3 b 123
3 b 456
4 b 123
EDIT:結果内のグループを識別するためにgrp_id
を計算するには、DENSE_RANK()
とサブクエリを使用することができます。
select DENSE_RANK() over(order by id1, id1) as grp_id,
id1, id2
from tbl
grp_idはどこから来たのですか? –
id1 = aとid2 = yの組み合わせのレコードが結果に表示されないのはなぜですか? –
問題を解決するのに十分な情報を提供していないため、私はダウン投票しました。まともな回答が必要な場合は、grp_idをどう思いついたのかを指定する必要があります。 – SandPiper