按某属性分组后,统计该数据中状态列,该状态列包含若干值,统计某一个或几个状态,其他状态业务为一个聚合状态,如空闲和占用(非空闲)状态。
-- 利用FIELD()自定义排序函数,不在列表中的值结果为0,可使用= >等条件判断,COUNT(expr)统计非整行数据时,忽略NULL值 SELECT COUNT( 1 ), -- 统计状态1的数量 COUNT(IF( FIELD( state, '状态1' ) = 1, 1, NULL )) state1Cnt, -- 统计非状态1的数量。或者统计其他状态。 COUNT(IF( FIELD( state, '状态1' ) = 0, 1, NULL )) noState1Cnt FROM table_name -- LEFT JOIN table_name -- WHERE CONDITION GROUP BY -- 待分组列 group_prop
.