Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将数据从金额转换为百分比sql查询_Mysql_Sql - Fatal编程技术网

Mysql 将数据从金额转换为百分比sql查询

Mysql 将数据从金额转换为百分比sql查询,mysql,sql,Mysql,Sql,这是我的查询,它以金额获取字段,但我希望以百分比获取每个字段的总金额,而不是以金额获取字段,我希望使用总数获取每个字段的百分比 SELECT O.OFFICENAME LABEL, COUNT(AID) Y FROM PAYMENT_REF_TABLE P INNER JOIN PROCESSING_OFFICE O ON P.PROCESSINGOFFICE = O.OFFICEID WHERE O.OFFICENAME IN ('Abuja Hqrs', 'Ikoyi', 'Alaus

这是我的查询,它以金额获取字段,但我希望以百分比获取每个字段的总金额,而不是以金额获取字段,我希望使用总数获取每个字段的百分比

SELECT O.OFFICENAME LABEL, COUNT(AID) Y 
FROM PAYMENT_REF_TABLE P 
INNER JOIN PROCESSING_OFFICE O ON P.PROCESSINGOFFICE = O.OFFICEID 
WHERE O.OFFICENAME IN ('Abuja Hqrs', 'Ikoyi', 'Alausa', 'Portharcourt', 'Kano') 
GROUP BY O.OFFICENAME


从上图中可以看出,这是金额的总和,然后我想将其更改为每个字段的百分比

如果您想要总金额的百分比,请使用窗口功能:

SELECT O.OFFICENAME as LABEL, COUNT(AID) as Y,
       COUNT(*) * 100.0 / SUM(COUNT(*)) OVER () as percentage
FROM PAYMENT_REF_TABLE P INNER JOIN 
     PROCESSING_OFFICE O
     ON P.PROCESSINGOFFICE = O.OFFICEID
WHERE O.OFFICENAME IN ('Abuja Hqrs', 'Ikoyi', 'Alausa', 'Portharcourt', 'Kano')
GROUP BY O.OFFICENAME

百分比是多少?它是有效的,但小数点后差不多有10位,我甚至不想小数点帮我。我尝试添加“访问率1%”,但没有起到帮助作用,please@kamalAliyu . . . 使用
round()
或在除法后转换为适当的
decimal()
类型。