2016-08-23 12 views
-1

こんにちは私は以下のようにmySQLで結果を返します。私は各列の合計の%を計算したいと思います。 1つのクエリで複数の計算を行うにはどうすればよいですか。私は個別にはできますが、グループではできません。助けてください。1つのクエリで複数の列のパーセンテージを計算する

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を(使用します)

関連する問題