繁体   English   中英

有和没有HAVING子句的MySQL COUNT

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM