我需要知道查询的COUNT,以及使用HAVING子句的相同查询
作为说明(不是真实情况,而是说明性的),如果表 pupilTable 包含 pupil 及其类的列表,我想知道班级的数量,以及超过25个孩子的班级数量:
我知道我可以使用以下方式获取课程总数:
SELECT COUNT( * ) AS NumAllClasses FROM pupilTable GROUP BY class
我知道我可以使用以下条件获得大班的数量:
SELECT COUNT( * ) AS NumBigClasses FROM pupilTable GROUP BY class HAVING COUNT(pupil) > 25
是否有一种简单(单一查询)方式同时获取两者?谷歌不是我的朋友:(
编辑添加说明性数据
答案 0 :(得分: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
答案 1 :(得分: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