2017-07-26 57 views

回答

2

下面是使用Group BYHaving條款

select user_id 
from yourtable 
group by user_id 
having count(case when group_id = 1 then 1 end) = 0 
+1

這種方式很不錯 –

0

使用NOT EXISTS操作和dependend子查詢

的一種方式3210
SELECT DISTINCT user_id 
FROM Table t 
WHERE NOT EXISTS (
    Select * FROM Table t1 
    WHERE t1.user_id = t.user_id 
    AND t1.group_id = 1 
) 

您還可以使用NOT IN:

SELECT DISTINCT user_id 
FROM Table t 
WHERE user_id NOT IN (
    SELECT user_id FROM table 
    WHERE group_id = 1 
) 
2

這裏是你如何用左手做加盟:

select distinct user_id 
from a_table_you_did_not_name base 
left join a_table_you_did_not_name g1 on base.user_id = g1.user_id and g1.group_id = 1 
where g1.user_id is null 

在這裏,你做一個左連接,然後「尋找」沒有加入的東西。由於連接需要group_id = 1的存在,因此會提供所需的結果。

相關問題