2017-05-01 18 views
-1

ことによってそれを合計毎日することにより店舗での購入をして例MySQLは過去30日間のデータを取得し、私はすべての過去30日間のグループにしたい日

2017/04/01 
purchases: 30 
total: 900.01 

2017/04/02 
purchases: 30 
total: 900.01 

などのために、次のデータの過去30日間の配列を返します。これまでのところ、私はこの種類のクエリを作成する方法が分からないと、次のアイデア

SELECT COALESCE(SUM(purchases.price)/1000,0) AS all_purchases, 
    min(purchases.time) AS start_interval, max(purchases.time) AS end_interval 
    FROM purchases 
    WHERE purchases.time::date >= DATE_SUB(NOW(), INTERVAL 30 DAY) AND WHERE purchases.time::date <= DATE_SUB(NOW()) 
    ORDER BY start_interval DESC 

を思い付いたが、それはあなたが例えば、グループを使用する必要があります

+0

あなたが質問する「一番最後に30日購入する***は店舗で*** by毎日 "...あなたのクエリ/構造内にあるストアはどこですか?それは質問で間違っていますか?オンラインストアとオンラインストアの小売販売に関連してストアしていますが、違いをどのように知っていますか? – xQbert

答えて

3

をどのように動作するかではないthatsの:

SELECT date(purchases.time) as my_date , count(*) as my_count, 
      COALESCE(SUM(purchases.price)/1000,0) AS all_purchases 
    FROM purchases 
    WHERE date(purchases.time) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) 
     AND date(purchases.time) <= CURDATE() 
    GROUP BY date(purchases.time) 
    ORDER BY my_date DESC 

(どこでもどこでもどこでも... ...)

+0

あなたはその構文が良いと確信していますか?構文エラーメッセージが表示されるためです。また、私は毎日すべての購入を表示するクエリを検索しているので、私が必要としている答えではないことをかなり確信しています。 – Sandra

+0

答えはdateとcurdateで更新されました – scaisEdge

関連する問題