where中不能使用聚合函数

Posted linyuansun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了where中不能使用聚合函数相关的知识,希望对你有一定的参考价值。

select sex,count(*) from table where count(*)>5

报错

 

sql语句的执行过程是:

from-->where-->group by -->having --> select--- >order by;

 

聚合函数针对结果集,where并不是在结果集后运行。

having针对结果集,把聚合函数放在having之后。

 

select sex,count(*) from table having count(*)>5

以上是关于where中不能使用聚合函数的主要内容,如果未能解决你的问题,请参考以下文章

where中不能使用聚合函数

为啥聚集函数不能出现在where子句中

where 后面可以接聚合函数吗

where语句中不能直接使用聚合函数

SQL中where后不能跟聚合函数

为啥sql查询语句中的count(*)等聚合函数可以放在having后面,而不能放在where后面?