求SQL语句,按照不同条件分类统计想求一条sql 语句,统计某个字段数值之和,以及所占百分比,比如

求SQL语句,按照不同条件分类统计想求一条sql语句,统计某个字段数值之和,以及所占百分比,比如有一张表T1,PIDFLAGWEIGHTa120b030c010d1150... 求SQL语句,按照不同条件分类统计想求一条sql 语句,统计某个字段数值之和,以及所占百分比,比如有一张表T1,
PID FLAG WEIGHT
a 1 20
b 0 30
c 0 10
d 1 150
希望结果是
FLAG0 PER0 FLAG1 PER1
30 15% 85% 170
怎么写?
展开
 我来答
酒意何存
2013-12-18 · 超过51用户采纳过TA的回答
知道答主
回答量:123
采纳率:100%
帮助的人:80.2万
展开全部

靠 你问题能在坑点吗 第一个数据 (pid)c对应的(weight)是0 

我说怎么看怎么不对呢

select 
             sum( case when flag = '0' then weight else 0 end) as FLAG0,
              sum( case when flag = '0' then weight else 0 end)/sum(weight) as PER0,
              sum( case when flag = '1' then weight else 0 end) as FLAG1,
              sum( case when flag = '1' then weight else 0 end)/sum(weight) as PER1  
 from tab1

另外:如果需要转换成百分数 可以找一下方法 或者问我也行

小狂中E
2013-12-18 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1030万
展开全部
with t2 as (select flag, sum(weight) sum from t1 group by flag)
select sum(case when flag=0 then sum end) flag0, sum(case when flag=0 then sum end)/(select sum(sum) from t2) per0, sum(case when flag=1 then sum end) flag1, sum(case when flag=1 then sum end)/(select sum(sum) from t2) per1 from t2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式