[英]MySQL COUNT with and without a HAVING clause
我需要知道一个查询的COUNT,以及具有HAVING子句的相同查询
通过说明(不是真实的案例,但说明)的方式,如果表pupilTable包含学生和他们班的名单,我想知道的类的数量,也类有超过25名儿童的数量:
我知道我可以使用以下方法获得课程总数:
SELECT COUNT( * ) AS NumAllClasses FROM pupilTable GROUP BY class
我知道我可以使用条件获得大类的数量:
SELECT COUNT( * ) AS NumBigClasses FROM pupilTable GROUP BY class HAVING COUNT(pupil) > 25
是否有一种简单的(单一查询)方式来同时获取两者? 谷歌不是我的朋友:(
编辑以添加说明性数据
未经任何验证:
SELECT COUNT(*) AS count1 FROM table WHERE condition UNION ALL
SELECT COUNT(*) AS count2 FROM table WHERE condition HAVING second-condition
但是请注意,我猜第二个标签会丢失,因此您将两个count-nrs返回到标签count1下
您可以使用以下查询:
select count(users.id) count1, count(u.id) count2 from users left join users u on users.id = u.id and u.fname = "abc" where users.id > 10
在这里,我使用了两个条件。 您需要在此查询中进行相关更改以获取所需的输出。
在这里,用户。 和你。 是条件。
在上面的查询中,
user.<condition1> : u.fname = "abc"
u.<condition2> : users.id > 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.