我对选择的mysql查询有疑问。让我们说我们有2个表
用户:[id,username] logs [id,user_id,action]
我想根据user_id
从表用户中选择具有表日志计数(id
)的所有用户
我尝试执行以下操作:
SELECT t1.*,count(t2.`id`)
FROM `users` t1
LEFT JOIN `logs` t2
ON t1.id = t2.user_id;
但是只会打印有计数日志的用户> 0.我想选择所有具有日志计数的用户。
答案 0 :(得分:0)
尝试此查询:
SELECT *, (SELECT count(id) FROM `logs` WHERE `logs`.`id`=`id`) scount FROM `users`;
您想要的计数值将位于名为scount
的字段中。
答案 1 :(得分:0)
SELECT t1.*,count(t2.`id`)
FROM `users` t1
LEFT JOIN `logs` t2
ON t1.id = t2.user_id
GROUP BY t1.id