Dav*_*ave 8 mysql count left-join
我正在使用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;
Run Code Online (Sandbox Code Playgroud)
问题是,如果用户从未登录过,上面仍然为该用户返回一个计数,可能是因为当没有匹配的行时LEFT JOIN返回NULL.如何更改此设置,以便在用户从未登录时获得零,然后如果他们已登录至少一次则获得相应的计数?
您可以在右表的其中一列上使用count.
select u.id,
count(l.user_id)
from user u
left join logins l on u.id = l.user_id
group by u.id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1726 次 |
| 最近记录: |