答案 0 :(得分:1)
您可以使用条件聚合:
select customer,
sum( status = 'Disposed' ) as num_disposed,
sum( status = 'Transported' ) as num_transported
from t
group by customer;
MySQL在数字上下文中将布尔表达式视为整数,其中0表示false,1表示true。因此,仅将布尔值加起来是一种简单的方法即可计算出符合条件的行数。
答案 1 :(得分:0)
您可以将case ansum用作分组
select customer, sum(case when status ='disposed' then 1 else 0 end) count_disposed
sum(case when status ='trasposed' then 1 else 0 end) count_trasposed
from my_table
group by customer