2016-05-11 5 views
1

ザンザン&少ないよりは、そうでなければ、私は彼らが値200MySQLのSUM私は、彼らが値200</p> <p>以上のものを持っている場合は<strong>価格</strong>列から合計する必要がある

未満を持っている場合は合計する必要がある場合

結果Dateでグループ化したい。

注文の表を参照してください:

date_transaction sum_of_two_hundred_or_more  sum_of_less_than_200 
2014-03-28   878        219 
2014-03-29   532        224 
2014-03-30   0        0 
2014-03-31   0        0 

そして、ここでは、私が試したが、それが唯一のより多くを示したものです:私は以下のようになりたい

price  date_transaction 
537   2014-03-28 11:44:40 
123   2014-03-28 14:35:21 
96   2014-03-28 15:43:17 
341   2014-03-28 16:12:42 
309   2014-03-29 15:47:48 
223   2014-03-29 19:22:28 
115   2014-03-29 23:31:34 
109   2014-03-29 23:44:16 

を200のみ。

SELECT 
DISTINCT DATE(date_transaction) AS date_transaction, 
SUM(price) AS sum_of_two_hundred_or_more 
FROM orders 
WHERE price > 200 
AND date_transaction BETWEEN '2014-03-26' AND '2014-03-31' + INTERVAL 1 DAY 
GROUP BY DATE(date_transaction) 
ORDER BY DATE(date_transaction) ASC; 
+0

は私の答えはあなたの質問を解決していますか? –

+0

はい成功しました。ありがとうございました! – cocksparrer

+0

素晴らしいどういたしまして。 –

答えて

3

これは動作するはずです:

SELECT DATE(date_transaction) AS date_transaction, 
    SUM (CASE WHEN price >= 200 THEN price ELSE 0 END) AS sum_of_two_hundred_or_more 
    SUM (CASE WHEN price < 200 THEN price ELSE 0 END) AS sum_of_two_hundred_less 
FROM orders 
WHERE date_transaction BETWEEN '2014-03-26' AND '2014-03-31' + INTERVAL 1 DAY 
GROUP BY DATE(date_transaction) 
ORDER BY DATE(date_transaction) ASC 
+0

ありがとうございました! – cocksparrer

関連する問題