mysql - 在 where 语句中使用由 count 设置的值

标签 mysql sql

我有一个查询,我要选择已提交每个应用程序的用户数量。

SELECT c.*, count(p.id) people
FROM users p
LEFT JOIN apps c
ON c.id = p.app
WHERE c.status='1'
GROUP BY p.app
ORDER BY c.id DESC

但是,我只想选择少于 50 人的那些。我该怎么做?

我试过了 WHERE c.status='1' AND people < 50但它没有用,它说这是一个无效的列。如何只选择 people 小于 50 的值?

谢谢

最佳答案

使用 HAVING。它的行为类似于 WHERE,但它用于聚合列。

SELECT c.*, count(p.id) people
FROM users p
LEFT JOIN apps c
ON c.id = p.app
WHERE c.status='1'
GROUP BY p.app
HAVING count(p.id) < 50
ORDER BY c.id DESC

关于mysql - 在 where 语句中使用由 count 设置的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11998841/

相关文章:

sql - MySQL 多重连接/子查询问题

mysql - 选择一个区间的几个平均值

mysql - 为什么其次是关系影响结果?

regex - Notepad++,搜索之间有通配符的字符串。除非(角色)出现在

java - 素面 : submit after succes action

mysql - 基于星期几列透视 MySQL 表

php - SQL 查询 - 一个人的所有闲暇

php - 循环 php mysql 查询直到找不到结果

Javascript 回调 - 为什么它不起作用?

mysql - 安排事件并让事件跨越午夜