gpt4 book ai didi

mysql - 当行不存在时显示计数值 0 MYSQL

转载 作者:行者123 更新时间:2023-11-29 02:49:02 27 4
gpt4 key购买 nike

我有 2 张 table 游戏和赌注。我想计算每场比赛的投注次数。但是,当没有针对特定游戏 ID 的投注时,我当前的查询不包括游戏。

这是我当前的查询:

SELECT g.*, 
Count(*) AS participants
FROM game g,
bet b
WHERE b.game_id = g.id
AND USER = ?
GROUP BY g.id

所以为了更清楚,假设我的 Game 表中有 3 行。 game1 有 4 个投注,game2 有 2 个投注,投注表中没有与 game3 关联的行。结果应该是:

g1  4
g2 2
g3 0

如果有任何帮助,我将不胜感激。

最佳答案

使用左连接并计算 bet 表中存在的列。对于未能加入赌注表的游戏记录,将在预分组结果集中返回一行,该行在赌注表的所有列中都为空。因为 count() 聚合函数不计算空值,所以对于无法加入的游戏记录,您将得到一个零。

select g.*, count(b.game_id) participants
from game g left join bet b on b.game_id=g.id
where user=?
group by g.id

关于mysql - 当行不存在时显示计数值 0 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38024453/

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