gpt4 book ai didi

mysql - 在 MySQL 中,如果 LEFT JOIN 不匹配任何内容,我如何计数为零?

转载 作者:可可西里 更新时间:2023-11-01 06:32:50 26 4
gpt4 key购买 nike

我正在使用 MySql 5.5.37。我有一个查询,用于计算用户登录的次数

select u.id, IFNULL(count(*), 0) 
FROM user u left join logins l
on u.id = l.user_id group by u.id;

问题是,如果用户从未登录过,上面的代码仍然为该用户返回计数 1,可能是因为 LEFT JOIN 在没有匹配行时返回 NULL。我该如何更改此设置,以便在用户从未登录时我得到零,然后在他们至少登录过一次时得到适当的计数?

最佳答案

您可以对右表的其中一列使用计数。

select u.id,
count(l.user_id)
from user u
left join logins l on u.id = l.user_id
group by u.id

关于mysql - 在 MySQL 中,如果 LEFT JOIN 不匹配任何内容,我如何计数为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43215373/

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