sql 销售占比

下面是销售明细表
店名 分类 销售额
1店 食品 100
1店 日用 80
2店 日用 50
2店 食品 40
按店名和分类 汇总每个分类占每个店的总销售的百分之多少

select b.*,b.销售额/a.总销售 as 总销售的百分比 ( select 店名 店名 ,sum(销售额) as 总销售 from 销售明细表 where 1=1 group by 店名) a ,销售明细表 b where a.店名=b.店名

这个是汉字的,可能会有语法错误,但是用这个思想就能搞定你的问题了,追问

我意思是语句后出现如下

店名 销售额 占比 食品 日用
1店 100 0.66 100 80
2店。。。。。。。。。。。
这样的。

追答

select a.店名,a.总销售/( select sum(销售额) from 销售明细表) as 占比,(select sum(销售额) from 销售明细表 where 1=1 and a.分类='食品' group by 店名,分类) as 食品,(select sum(销售额) from 销售明细表 where 1=1 and a.分类='日用' group by 店名,分类) as 日用 from ( select 店名 店名 ,sum(销售额) as 总销售 from 销售明细表 where 1=1 group by 店名) a ,销售明细表 b where a.店名=b.店名

温馨提示:答案为网友推荐,仅供参考