這可能有一個明顯的解決方案,但我不記得此刻該怎麼稱呼它。通過首選排序過濾列表
假設你有一個表是這樣的:
Member | ID | Type
------ | ------ | ------
100 | 1 | A
100 | 2 | B
101 | 3 | A
102 | 4 | A
103 | 5 | B
104 | 6 | B
104 | 7 | A
104 | 8 | A
如果成員有一個我想與該成員的回報所有行。
如果一個成員沒有A,那麼我想返回所有包含該成員的B的行。
我意識到我可以使用NOT EXISTS編寫解決方案,但我想知道是否有更通用的解決方案(在多個類別的情況下)。基本上我想按照首選順序來篩選一個類別是否存在。
在這個例子中,結果將返回:
Member | ID | Type
------ | ------ | ------
100 | 1 | A
101 | 3 | A
102 | 4 | A
103 | 5 | B
104 | 7 | A
104 | 8 | A
感謝。
這似乎這樣的伎倆。我以前沒有聽說過dense_rank()。謝謝! – JJ32
@ JJ32窗口函數是我們的朋友。值得花時間去適應他們。乾杯。 –