gpt4 book ai didi

mysql - 如果行不存在,如何从表中返回计数为 0?

转载 作者:行者123 更新时间:2023-11-29 13:26:08 25 4
gpt4 key购买 nike

我有两张 table 。

水果:

   id  ||  name
-----------------
1 || oranges
2 || apples

还有篮子:

 basket  ||  fruit references a.id
---------------------------------
x || 1
x || 1
y || 1
y || 2

我需要使用 count(baskets.fruit) 选择水果的数量,其中篮子是 x。我感到困惑的部分是:如果篮子不包含水果条目,则需要返回 0。

例如,如果我们需要篮子 x 的数量,我们会得到:

fruit.name  ||  count
-------------------
apples || 2
oranges || 0

请注意,尽管篮子中不存在 x 的橙子,但它仍然返回条目 0。

最佳答案

创建一个 outer join在表格之间进行分组,然后进行相应的分组:

SELECT   fruit.name, COUNT(baskets.fruit)
FROM fruit LEFT JOIN baskets ON baskets.fruit = fruit.id
WHERE baskets.basket = 'x'
GROUP BY fruit.id

关于mysql - 如果行不存在,如何从表中返回计数为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20110310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com