标题mysql执行顺序如下:
from >where>group by>having >select >order by
有聚合函数时,要使用聚集函数进行数据计算,在group by之后
COUNT()函数内条件计数为什么要加NULL
举例,计算COUNT(SEX=‘F’)
如果SEX不等于F,则会返回FALSE不是NULL,
COUNT只有值为NULL时不计数,COUNT(‘任意内容’)都会统计出所有记录数
加上OR NULL后,第一个表达式是true就是不执行or后面的表达式,第一个表达式是false 执行or后面的表达式 。当SEX不为F时SEX = ‘F’ or NULL 的结果是NULL,Count才不会统计这条记录数
SELECT
COUNT( STUDENTNO ) AS 学生人数,
COUNT( SEX = 'M' OR NULL ) AS 男生,
COUNT( SEX = 'F' OR NULL ) AS 女生
FROM
`test4`