请问各位大神mysql中查询时,where后面能跟count聚合函数吗?为什么有时候会看到使用聚合函数,请赐教,谢谢

解决方案 »

  1.   

    你看到的是 having 后面吧……
      

  2.   

    where 后面不行
    where  ……
    group by  ……having ……
      

  3.   

    mysql中的常用聚合函数有5个:
    1、count(); 计数
    2、max(); 最大值
    3、min();  最小值
    4、sum(); 求和
    5、avg();  求平均值
    where后面不能直接用聚合函数做过滤条件,如果聚合函数用作过滤条件,只能用在having后面,如果会出现,应该是where后面接的子查询吧?
      

  4.   

    用having,或者写子查询也好。例如:
    SELECT * FROM (SELECT ID,COUNT(0) C FROM TABLE_NAME GROUP BY ID) T WHERE T.C >=0 ;
      

  5.   

    你看到的应该是子查询包起来的count吧,where (select count(1) from xxx) >= N?如果不是这样,见3楼,我也想见识一下。