mysql如何遍历某个字段所有值并计算比例

这是原数据
把最后ORGIN_COUNT的数值计算成比例,想得到这样的结果
处理后的数据
请问如何处理计算比例的那一部分

7个回答

jinchangke
jinchangke 可以转载么?
大约 3 年之前 回复
jinchangke
jinchangke 明白了,多谢了。
大约 3 年之前 回复

结果中的数据是依据什么来的?你得有个公式先啊

jinchangke
jinchangke 就是把ORGIN_COUNT每一项的值除以SUM(ORGIN_COUNT),计算比例,再使用GROUP BY BRANCH_ID分组      
大约 3 年之前 回复

下面这个sql估计是楼主想要的 ,如果不对,咱们再沟通 表明自己取得,字段小写,楼主适当更改下即可

select sum(num) as 'NUM',sum(num2) as 'NUM2' ,branch_id,
concat_ws ("|",((select origin_count from test where order_detail_id='4294967572') / (select sum(origin_count) from test )),
((select origin_count from test where order_detail_id='4294967410') / (select sum(origin_count) from test )),
((select origin_count from test where order_detail_id='4294967743') / (select sum(origin_count) from test )))
AS '百分比'
from test GROUP BY branch_id

jinchangke
jinchangke order_detail_id的值不是固定的,这种方法局限性比较大,还是要谢谢您
大约 3 年之前 回复

图片说明

mysql 拼接字符关键字

concat_ws

sqlserver
cast

oracle
to_char

条件什么的我自己添加的,不知道符合不符合你的要求,关键concat_ws 这个你网上搜下 就知道怎么用了

具体怎么用可以网上找,希望对你有帮助

我写出来了啊,见截图图片说明,原始数据:图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐