2016-04-01 15 views
0

Bu karmaşık sorgunun toplamını nasıl alabilirim?Karmaşık türetilmiş çizelgenin SUMU

money_volume_sum toplamını arıyorum. (Ayrı bir sorgu olabilir, bu yüzden yüzdeleri hesaplamak için bir değişken olarak kullanabilirim.)

Ayrıca: Bunu aynı sorguya yerleştirmenin bir yolu var mı? stackoverflow bu asıl soruya gelen Tabanlı

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

Şerefe! Eğer dış sorguda yüzdesini istiyorsanız

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

yapmaya çalışıyorsun sen? Örnek veriler ve istenen sonuçlar gerçekten yardımcı olur. Ve neden orijinal cevap (kabul ettiniz) çalışmıyor? –

cevap

0

, değişkenleri kullanarak MySQL bir hile kullanabilirsiniz:

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

Teşekkür ederim iyi numara. Neden lol çalıştığını anlamaya çalışacağım. – Aoi