gpt4 book ai didi

mysql - 使用 GROUP BY 时计算空值

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:07 24 4
gpt4 key购买 nike

我正在计算给一个项目的投票数,只有两个可能的值:

vote = 1vote = 2

SELECT COUNT(*) AS count 
FROM match_votes
WHERE match_id = :match_id
GROUP BY vote

但是,如果没有投票给 1 但投票给 2 那么它将只返回 1 行,因为它不计算空值。我想返回 vote = 1vote = 2 的计数,即使该项目没有投票。

此外,我想确保 vote = 1 的计数始终位于第一行。

最佳答案

你需要一个左连接:

select v.vote, count(mv.vote)
from (select 1 as vote union all select 2) v left join
match_votes mv
on mv.vote = v.vote
group by v.vote;

或者,将结果放在两列中:

select sum(mv.vote = 1) as vote_1, sum(mv.vote = 2) as vote_2
from match_votes mv;

关于mysql - 使用 GROUP BY 时计算空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957919/

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