2014-02-05 102 views
1

選擇我有兩個表,這樣的:通過頻率

users(id, name) 
phones(user_id, number) 

我想選擇是在表中的手機超過三排所有用戶的名字。我怎樣才能做到這一點?

+0

這是一個非常基本的聚集查詢。你有嘗試過什麼嗎?如果是這樣,請編輯問題並加入。另外,用您正在使用的數據庫標記問題。 –

+0

當然,我會添加它 – ahmm95

+0

而且,爲了澄清,用戶名*不在'phones'表中。大概你的意思是沒有'user_id'出現三次以上或'name'上有唯一的索引,所以知道'users'表中沒有重複。 –

回答

1

加入表並添加一個having子句限制由user_ids的計數返回的結果

select name, 
count(user_id) 
from users u 
join phones p 
on u.id = p.user_id 
group by name 
having count(user_id) > 3 

SQL小提琴:http://sqlfiddle.com/#!2/c5516/2

1

從用戶 選擇名加入手機的ID = user_ID的 組通過user_id說明 有計數(數量)> 3