[英]LEFT OUTER JOIN with count()?
考慮以下表:
清單 :
id name
1 somename
2 someothername
潛在客戶 :
id list
1 1
2 1
3 1
我目前有以下查詢:
SELECT lists.*, count(leads.id)
FROM lists
LEFT OUTER JOIN leads ON lists.id =leads.list
為什么只顯示第一個列表,而不同時顯示兩個列表? 列表1,計數= 3,列表2計數= 0?
僅顯示第一個列表? 為什么是這樣?
要對COUNT()
聚合進行分組,您需要使用GROUP BY
:
SELECT
lists.id, count(leads.id)
FROM
lists
LEFT OUTER JOIN leads
ON lists.id =leads.list
GROUP BY
lists.id
您是從leads
到lists
左連接,它將從leads
選擇所有值(只有列表1),並且僅從匹配的lists
中選擇值。 而是: LEFT OUTER JOIN lists ON lists.id =leads.list
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.