[MySQL] 当日と前日の売上データの差を求める方法(自己結合)

MySQLで今日の売上と昨日の売上の差を算出する方法についてです。MySQLの自己結合を使って算出します。

データの確認

テーブル名:sales
カラム:id(AUTO_INCREMENT) , product_id(製品ID) , sales_data(売上), sales_date(販売日)

↓実行結果

算出方法

salesテーブルをもとに、もう一つafter_dayという1日後の日付のカラムがあるテーブルを作成します。
1日ずれた日をキーとして結合して、売上の差額を計算します。

salesテーブル(そのままを) エイリアス「A」
1日後の日付のカラムがあるテーブルを エイリアス「B」とします。

まず、1日後の日付のあるテーブルを作成してみます。

↓実行結果

二つのテーブルを結合してみます。

DATE( B.sales_date + INTERVAL 1 DAY ) はテーブル名Bのsales_dateの1日後という意味です。

↓実行結果

当日の売上、前日の売上、spread(当日の売上-前日の売上)がうまく表示されました。

テストデータ

テーブル名:sales

5日間の売上を比較

5日間の営業成績の推移を算出したい場合は以下のようなSQL文を書きます。



Author: webmaster