簡體   English   中英

Sql 加入,計數引用包括零

[英]Sql join, count references including zeros

我制作了一個簡單的數據庫,其中包含兩個表,“國家”和“人類”:

+------+---------+
| id   | name    |
+------+---------+
|    1 | Finland |
|    2 | Sweden  |
|    3 | Norway  |
|    4 | Denmark |
+------+---------+

+--------+----------+
| name   | homeland |
+--------+----------+
| Liisa  |        1 |
| Matti  |        1 |
| Holger |        2 |
+--------+----------+

這個查詢表明沒有人住在挪威,但為什么它沒有提到丹麥?

select country.name, count(human.name)
from human
    right join country on human.homeland = country.id
group by homeland;

+---------+-------------------+
| name    | count(human.name) |
+---------+-------------------+
| Norway  |                 0 |
| Finland |                 2 |
| Sweden  |                 1 |
+---------+-------------------+

我正在使用 MariaDB,但更喜歡適用於其他數據庫的解決方案。

您通常GROUP BY與您相同的列SELECT除了那些 arguments 設置功能

select country.name, count(human.name)
from country 
    left join human on human.homeland = country.id
group by country.name;

暫無
暫無

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

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