2012-07-29 117 views
0

这里就是我想要做的事: 表A的用户登录的记录 表B具有用户的信息的MySQL从一个表计数,加入到另一个表

我想计算机总数登录表A中的每个用户,然后将其加入到表B中,这样我的结果就像......

用户1名称:John登录:15次 用户2名称:玛丽登录:22次

任何帮助非常感谢

回答

1
SELECT 
    users.*, 
    COUNT(user_logins.user_id) as login_count 
FROM users 
LEFT JOIN user_logins ON user_logins.user_id = users.user_id 
GROUP BY users.user_id 

如果您不需要以0登录用户从LEFT JOIN

+0

多少次你改正你的答案? ;-) – Besnik 2012-07-29 21:58:01

+0

2或3,我不确定。 1-st我添加了左/不是左的建议,然后我注意到我缺少'GROUP BY users.user_id' – Vatev 2012-07-29 22:14:51

2

删除LEFT你需要类似的东西:

SELECT u.*, count(l.id) AS login_count 
FROM user s 
LEFT JOIN login l ON u.id = l.user_id 
GROUP login.id 
相关问题