-1

我需要知道查询的 COUNT,以及带有 HAVING 子句的相同查询

举例说明(不是真实案例,而是说明性的),如果表学生表包含一个学生及其班级的列表,我想知道班级的数量,以及超过 25 个孩子的班级数量:

我知道我可以使用以下方法获得课程总数:

SELECT COUNT( * ) AS NumAllClasses FROM pupilTable GROUP BY class

我知道我可以使用以下条件获得大类的数量:

SELECT COUNT( * ) AS NumBigClasses FROM pupilTable GROUP BY class HAVING COUNT(pupil) > 25

是否有一种简单的(单个查询)方法可以同时获取两者?谷歌不是我的朋友 :(

编辑添加说明性数据

4

2 回答 2

0

您可以使用以下查询:

    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
于 2013-10-24T13:58:38.533 回答
0

未经任何验证:

SELECT COUNT(*) AS count1 FROM table WHERE condition UNION ALL
SELECT COUNT(*) AS count2 FROM table WHERE condition HAVING second-condition

但请注意,我猜第二个标签会丢失,因此您将在标签 count1 下返回两个 count-nrs

于 2013-10-24T13:44:47.640 回答