【发布时间】:2013-10-01 22:13:02
【问题描述】:
我有以下查询:我刚刚注意到,当他们有 0 item_count 时,并没有汇总用户的计数。我曾尝试调整此查询,因为我以前犯过这个错误,但不是这种更复杂的查询,我需要如何调整它才能显示用户的 item_count 即使为 0??
SELECT u.ID AS user_id,
u.date_expired AS user_date_expired,
u.first_name AS first_name,
u.last_name AS last_name,
COUNT(i.id) AS item_count
FROM `user` `u`
LEFT JOIN `item` `i` ON i.recruiter_id = u.id
WHERE ((`u`.`id` IN ('15', '2', 13)) AND (i.date_added >
DATE_SUB(u.date_expired, INTERVAL 30 DAY)))
GROUP BY `u`.`id`
谢谢
强尼
【问题讨论】:
-
不应该
u.date_expired、u.first_name和u.last_name也出现在group by子句中吗? -
mysql 对标准 sql 有一个扩展,它允许您选择 group by 子句中不存在的列。
-
@Hyperboreus 我只是尝试将它添加到我的控制台中,同样的输出。
-
@SamDufel 我正在使用 Yii QueryBuilder,所以不确定是否有可能。必须调查一下,如果这是问题所在。
标签: mysql join aggregate-functions