2016-04-01 9 views
0

この複合クエリの合計はどのようにして得られますか?複合誘導テーブルのSUM

money_volume_sumの合計を探しています。 (私は別のクエリを使用することができますので、パーセンテージを計算するための変数として使用できます)

他のクエリと同じクエリを使用する方法はありますか? stackoverflowの上で、この元の質問から基づい

SQL SELECT query with custom column, then summed and grouped by column

乾杯!

SELECT SUM(money_volume) AS money_volume_sum, 
    exchange   
    FROM (
     SELECT k.exchange, y.close * y.volume AS money_volume 
     FROM symbols k 
     JOIN stocks y ON k.id = y.id 
     WHERE y.t = '20160323' 
     ORDER BY money_volume DESC 
    ) t 
    GROUP BY exchange 
    ORDER BY money_volume_sum DESC 
+1

あなたがする何をしようとしていますか?サンプルデータと望ましい結果が本当に役立ちます。そして、元の答え(あなたが受け入れた)はなぜ機能しないのですか? –

答えて

0

あなたは外側のクエリでパーセンテージをしたい場合は、変数を使用してのMySQLのにトリックを使用することができます。

SELECT exchange, SUM(money_volume) AS money_volume_sum, @s as total_sum 
FROM (SELECT k.exchange, y.close * y.volume AS money_volume, 
      (@s := @s + y.close * y.volume) as cumesum 
     FROM symbols k JOIN 
      stocks 
      y ON k.id = y.id CROSS JOIN 
      (SELECT @s := 0) params 
     WHERE y.t = '20160323' 
    ) t 
GROUP BY exchange 
ORDER BY money_volume_sum DESC; 
+0

すてきなトリックありがとう。私はそれがなぜうまくいったのか理解するためにそれを研究しようとします。 – Aoi

関連する問題