我正在嘗試爲SQL做可能很標準的事情,但我不知道如何谷歌或搜索它,因爲我只能解釋我想實現的目標。在SQL中創建已修改的GROUP選擇
,如果我有一個表:
Table X:
ID | PID | TID
1 | 1 | 2
2 | 1 | 3
3 | 2 | 3
4 | 3 | 4
5 | 4 | 1
6 | 2 | 2
我想組由PID
(讓每個PID
來自全國各地的表只有一次),但肯定讓它們在指定TID
值(因爲正常組將隨機選擇它們)。所以我想我的查詢結果是,如果TID
被指定爲'2'
:
Result:
ID | PID | TID
1 | 1 | 2
4 | 3 | 4 -- 4 because from all over the table and it does not have TID = 2 where PID = 3
5 | 4 | 1 -- 5 because the same as above
6 | 2 | 2 -- This is where the normal GROUP would mess up as it would give ID = 3 instead of ID = 6
價值觀與ID
小號2
和3
被跳過,因爲他們有PID
也與TID = 2
一起謝謝您!
'SELECT pid,tid FROM tableX WHERE tid = 2 GROUP BY pid UNION SELECT pid,max(tid)FROM tableX WHERE tid!= 2 GROUP BY pid .... ....嘗試以上查詢的一些變體.... –