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

MySQLで過去3か月の売上データを取得する方法

    過去3か月の販売データを取得して、販売傾向を理解し、レポートとデータ分析を行うと便利です。ビジネス/ウェブサイトのMySQLで過去3か月の売上データを取得する方法は次のとおりです。 MySQLのINTERVAL関数を使用して過去3か月のレコードを選択する方法を見ていきます。

    MySQLで過去3か月の売上データを取得する方法

    MySQLで過去3か月の売上データを取得する手順は次のとおりです。次のテーブルがあるとしますsales(order_date、amount) 毎日の販売情報が含まれています。

    mysql> select order_date,sale from sales;
    
    (showing only last few records)
    +------------+------+
    | order_date | sale |
    +------------+------+
    | 2020-01-28 |  230 |
    |        ... |  ... |
    | 2020-05-29 |  300 |
    | 2020-05-30 |  250 |
    | 2020-05-31 |  250 |
    | 2020-06-01 |  250 |
    | 2020-06-02 |  150 |
    | 2020-06-03 |  300 |
    | 2020-06-04 |  200 |
    | 2020-06-05 |  200 |
    | 2020-06-06 |  250 |
    | 2020-06-07 |  150 |
    | 2020-06-08 |  300 |
    | 2020-06-09 |  200 |
    +------------+------+
    
    

    ボーナスリード:今月の記録を取得する方法

    これは、MySQLで過去3か月の売上データを取得するためのSQLクエリです。これは、3か月の売上のローリングとも呼ばれます。 INTERVAL()関数を使用して、過去3か月の売上データを取得します。

    mysql>select order_date,sale from sales
    where order_date > now() - INTERVAL 3 MONTH;
    
    (showing only last few records)
    +------------+------+
    | order_date | sale |
    +------------+------+
    | 2020-02-09 |  230 |
    |        ... |  ... |
    | 2020-05-29 |  300 |
    | 2020-05-30 |  250 |
    | 2020-05-31 |  250 |
    | 2020-06-01 |  250 |
    | 2020-06-02 |  150 |
    | 2020-06-03 |  300 |
    | 2020-06-04 |  200 |
    | 2020-06-05 |  200 |
    | 2020-06-06 |  250 |
    | 2020-06-07 |  150 |
    | 2020-06-08 |  300 |
    | 2020-06-09 |  200 |
    +------------+------+
    
    

    上記のSQLクエリでは、MySQLに order_dateのすべての日付の売上データを取得するように指示しています。 指定された間隔内、つまり、今から過去3か月以内です。

    ボーナスリード:MySQLでヒストグラムを作成する方法

    月によって日数が異なるため、INTERVAL3か月と言うと 、MySQLは、その月のまったく同じ日の後、3か月前にデータを取得します。つまり、今日が6月9日の場合、3月9日からの売上データを取得します。

    過去90日間の売上データを取得する場合は、SQLクエリを使用して過去90日間の売上データを取得します。

    mysql>select order_date,sale from sales
    where order_date > now() - INTERVAL 90 DAY;
    
    (showing only last few records)
    +------------+------+
    | order_date | sale |
    +------------+------+
    | 2020-03-11 |  230 |
    |        ... |  ... |
    | 2020-05-29 |  300 |
    | 2020-05-30 |  250 |
    | 2020-05-31 |  250 |
    | 2020-06-01 |  250 |
    | 2020-06-02 |  150 |
    | 2020-06-03 |  300 |
    | 2020-06-04 |  200 |
    | 2020-06-05 |  200 |
    | 2020-06-06 |  250 |
    | 2020-06-07 |  150 |
    | 2020-06-08 |  300 |
    | 2020-06-09 |  200 |
    +------------+------+

    ボーナスリード:MySQLでコンバージョン率を計算する方法

    order_dateごとに複数の行がある場合は、過去3か月の売上データを取得するときに、毎日の売上を集計する必要があります。たとえば、以下に示すように、販売テーブルがある場合

    mysql> select order_date,sale from sales;
    
    (showing only last few records)
    +---------------------+------+
    | order_date          | sale |
    +---------------------+------+
    | 2020-01-28 09:30:35 |  23  |
    | 2020-01-28 10:10:00 |  30  |
    | 2020-01-28 11:00:15 |  20  |
    | 2020-01-28 14:50:35 |  15  |
    | 2020-01-28 15:30:36 |  25  |
    | 2020-01-28 17:10:55 |  15  |
    |                 ... |  ... |
    +---------------------+------+

    次に、毎日の売り上げを集計した後、過去3か月の売り上げデータを取得するためのクエリを示します

    mysql>select date(order_date),sale from sales
          where order_date > now() - INTERVAL 3 MONTH
          group by date(order_date);
    
    (showing only last few records)
    +------------+------+
    | order_date | sale |
    +------------+------+
    | 2020-03-09 |  230 |
    |        ... |  ... |
    | 2020-05-29 |  300 |
    | 2020-05-30 |  250 |
    | 2020-05-31 |  250 |
    | 2020-06-01 |  250 |
    | 2020-06-02 |  150 |
    | 2020-06-03 |  300 |
    | 2020-06-04 |  200 |
    | 2020-06-05 |  200 |
    | 2020-06-06 |  250 |
    | 2020-06-07 |  150 |
    | 2020-06-08 |  300 |
    | 2020-06-09 |  200 |
    +------------+------+

    Ubiqなどのグラフ作成ツールを使用して、この売上データを折れ線グラフにプロットできます。

    次のクエリを使用して、各月のこの売上データを集計することもできます。 DATE_FORMATを使用して、日付値から月の名前を取得します。

    mysql>select date_format(order_date,'%b'),sale from sales
          where order_date > now() - INTERVAL 3 MONTH
          group by date_format(order_date,'%b');
    
    
    +------------+-------+
    | order_date |  sale |
    +------------+-------+
    | Mar        |   830 |
    | Apr        | 10300 |
    | May        | 12250 |
    | Jun        |  1250 |
    +------------+-------+

    次に示すように、Ubiqを使用して作成した棒グラフにプロットします。

    それでおしまい!うまくいけば、あなたもあなたのビジネス/ウェブサイト/アプリのためにMySQLで過去3ヶ月の売上データを取得し、それをあなたのチームと共有することができます。

    MySQLデータベースからチャート、ダッシュボード、レポートを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。

    1. DatabaseError:現在のトランザクションは中止され、トランザクションブロックが終了するまでコマンドは無視されますか?

    2. RLIKEがMariaDBでどのように機能するか

    3. 常時接続の読み取り専用ルーティング

    4. PHPでSQLインジェクションを防ぐにはどうすればよいですか?