MySQL选择查询说明

时间:2014-04-11 22:30:30

标签: mysql select join

我对选择的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.我想选择所有具有日志计数的用户。

2 个答案:

答案 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