sql >> データベース >  >> RDS >> Mysql

カレンダーテーブルを使用して、日付範囲クエリで欠落しているギャップを埋めます

    カレンダテーブルに外部結合が必要です。のようなもの

    SELECT c.cal_date, coalesce(t1.price, 0) as total
    FROM calendar c
    LEFT JOIN (SELECT b.purchase_date::date, sum(price) as price 
               FROM order_products a 
               INNER JOIN order_saved b 
                       ON a.order_id = b.id 
                       AND b.purchase_date BETWEEN '2011-09-16 23:59' AND '2011-10-16 23:59' 
                       AND b.status > 2
                       AND a.usr_id = 'XXXX'
                GROUP BY b.purchase_date) t1 on t1.purchase_date = c.cal_date
    WHERE cal_date BETWEEN '2011-09-16 23:59' AND '2011-10-16 23:59' 
    ORDER BY c.cal_date
    

    DDL(CREATE TABLE)を投稿すると、より良い回答が得られます )ステートメント、および最小限のINSERT 実際に回答をテストするのに十分なデータを提供するステートメント。 (質問を編集して、DDLステートメントとINSERTステートメントを貼り付けます。)



    1. MySQLCURRENT_TIMESTAMPフィールドは更新のたびに更新されます

    2. MySQLAUTO_INCREMENTはロールバックしません

    3. 各単語の頻度を数える

    4. テーブルから挿入可能なSQL形式にすべてのデータをエクスポートするにはどうすればよいですか?