计算一个查询中多列的百分比

时间:2016-08-23 11:39:15

标签: mysql

您好我的mySQL结果如下所示。我想计算每列总数的百分比。如何在一个查询中执行多个计算。我可以单独做,但不能像小组那样做。请帮忙。

Type  A   B   C
606   2034    150 1884
607   2025    158 1867
608   10118   713 9405

1 个答案:

答案 0 :(得分:0)

首先,您可以尝试此查询:

   select Type,table.A,(table.A/A_sum)*100,table.B,(table.B/B_sum)*100,table.C,(table.C/C_sum)*100 
   from table , (SELECT SUM(A) A_sum,SUM(B) B_sum,SUM(C) C_sum FROM table) as t

或者您可以使用此存储过程:

    DELIMITER $$
    DROP PROCEDURE IF EXISTS proc$$
    CREATE PROCEDURE proc()
     BEGIN

        DECLARE sum int(3);
        select sum(score) into sum from game_action;
        select *, (score/sum)*100 as pourcentage from game_action;
     END

并在您的应用程序中使用CALL proc()