2016-08-23 67 views
-1

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

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

你能告诉我如何你是否单独做? – waki

+0

什么是域名? 2034 + 150 + 1884或2034 + 2025 + 10118或2034 + 150 + 1884 + 2025 + 158 + 1867 + 10118 + 713 + 9405 – Marcus

+0

共有什么?结果应该是什么?每个值由特定列的总数?还是?... – sagi

回答

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()