MySQL使用 COUNT() 一次统计不同条件的数量
SELECT COUNT( `label_id` = 0 OR NULL ) AS `count_0`, COUNT( `label_id` = 1 OR NULL ) AS `count_1`, COUNT( `label_id` = 2 OR NULL ) AS `count_2`, COUNT( `label_id` = 3 OR NULL ) AS `count_3`, COUNT( `label_id` = 4 OR NULL ) AS `count_4`, COUNT( `label_id` = 6 OR NULL ) AS `count_6`, u_id FROM `user` WHERE 1
COUNT( `label_id` = 0 OR NULL ) OR NULL 的含义:
在count() 函数计数时,只有遇到null,MySQL才会认为条件为假,即:不统计这条数据。Or和平常的操作符一样,第一个条件是true就是不执行or后面的条件,如果第一个条件不为true,那就不需要统计这条数据,所以就需要加上or null,告诉MySQL不需要统计这条数据;