【发布时间】:2013-07-25 17:27:14
【问题描述】:
我目前有这个问题
SELECT COUNT(*)
FROM `applications`
WHERE approved =0
GROUP BY user_id
ORDER BY `applications`.`user_id` ASC
哪个(在我的例子中)返回两行这样
COUNT(*)
1
1
但计数并没有计算整个查询,一次只计算一行。我将如何获得所需的输出?
COUNT(*)
2
编辑
group by的原因是让拥有多个应用的用户只算1个。例如
约翰有 4 个申请 Tracy 有 1 个应用程序 Fred 有 2 个应用程序
返回的总数为 3。
【问题讨论】:
-
那你为什么有一个GROUP BY?这说
give me the count for each group。如果您只想要总数,请简化。ORDER BY也完全没有意义。该列甚至没有在输出中返回... -
因为我不想统计一个用户的多个应用程序。
-
所以
COUNT(DISTINCT user_id). -
是的,只是等到我可以接受下面的答案。但是感谢您的评论。
标签: mysql