mysql - 在 MySQL where 子句中使用生成的列

标签 mysql where-clause

如果我有一个查询,例如:

select column1, (
    select count(*) from table2
) as some_count
from table1
where column1 = 'foo'

我可以在 where 子句中使用 column1,但是如果我尝试添加

and some_count > 0

然后我收到一个错误,提示 some_count 不存在。我如何在 where 子句中使用它?

最佳答案

使用HAVING

select column1, (
    select count(*) from table2
) as some_count
from table1
HAVING some_count > 0

关于mysql - 在 MySQL where 子句中使用生成的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463452/

相关文章:

mysql - 子选择或更优雅的东西?

python - SqlAlchemy + Mysql : Unable to drop tables due to IntegrityError

mysql - 使用 WHERE 子句选择 MAX 日期

sql - 将SQL语句转换为Linq语句(3表左连接+where)

mysql插入值,从另一个表中选择数据

mysql - Access 2010 IIF 查询中的语法

MySQL 客户端历史记录未记录某些查询

php - 通过 CodeIgniter 中的 Controller 将参数传递给模型

mysql - MySQL 对约 400.000 个条目的查询速度缓慢

android - 在CursorLoader中通过 'selection'参数过滤ListView