假設我有下表:在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
我需要能夠爲1)基團的行由id1
和id2
和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
任何想法?
編輯:爲了計算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