簡體   English   中英

用count()左外聯接?

[英]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

您是從leadslists左連接,它將從leads選擇所有值(只有列表1),並且僅從匹配的lists中選擇值。 而是: LEFT OUTER JOIN lists ON lists.id =leads.list

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM