SELECT [每项需要查询的字段], count(*) FROM [表名] WHERE [条件] GROUP BY [分组依据1], [分组依据2] ... HAVING [条件]
其中,SELECT用于指定需要查询的字段,可以是多个字段;count(*)表示对整个查询结果进行统计计数;FROM用于指定需要查询的表名;WHERE用于指定条件;GROUP BY用于指定分组依据,可以有多个;HAVING用于指定分组后的条件,与WHERE不同的是,WHERE是对原始数据进行过滤,而HAVING是对分组后的结果进行过滤。
接下来,大家举个例子来说明:
SELECT gender, count(*) as num FROM students GROUP BY gender HAVING num >2
这个查询的功能是查询学生表中,按照性别进行分组,并统计每个分组中的记录数。同时,由于HAVING num >2的条件,只返回分组后记录数大于2的记录。
MySQL条件计数功能在实际开发中非常有用,可以大大提高查询的灵活性和效率,比如在统计每个分类下的文章数目、用户数目等等。