介绍:要做一个订餐系统的统计,需要的查出后格式为 姓名 早餐(份) 中餐(份),
而数据库的格式为 姓名 订餐类型(1为早餐,2为中餐) …… 表名为 uf_ cmcorder
Uname operid
解决办法:
1、先查出 姓名 订餐类型 总数量
Sql如下:
selectuname , operid,sum(u.orderstatus) nums from uf_cmcorder u GROUP BY uname,operid
ORDER BY uname,operid
结果如下:
2、使用 case when
Sql 如下:
select uname as n ,sum(case when operid='2' then nums else 0 end) as s1 ,
sum(case when operid ='1'then nums else 0 end) as s2 from ( select
uname , operid,sum(u.orderstatus) nums fromuf_cmcorder u GROUP BY uname,operid
ORDER BY uname,operid) as a GROUP BY uname
结果如下: