【MySQL】別テーブルの項目ごとに件数を求める方法

SQLと書かれたタイトル SQL

こんにちは。ぽこです!

今回は、マスターテーブルの項目ごとの件数を横持で取得する方法について書きます。

やりたいこと

今回やりたいのは、次のほうなことになります。

次のようなフルーツマスタと売り上げテーブルを想定します。

ID名前
1いちご
2バナナ
3メロン
4みかん
フルーツマスタ
売り上げ日商品金額
202301011300
2023010131000
202301012100
202301011300
202301011300
202301022100
202301021300
202301024300
202301022100
売り上げテーブル

この時、日付ごとに商品がいくつ売れたのかを次のように横並びに出力したいです。

売り上げ日いちごバナナメロンみかん合計
2023010131105
2023010212014

やりかた

今回は、PHPを使ってSQL文を作り、それを実行しました。

まず、売り上げ日ごとのいちごの売り上げ個数は次のように取得できます。

これを、フルーツマスタに登録されているフルーツの分だけ横に並べる必要があります。

そのために、フルーツマスタのデータを$fruitsに入れて、次のようにします。

ここで、SELECTで使うCOUNT文を作ります。カラム名にフルーツの名前が来るように設定しています。

続いて、先ほど作成したものを使ってSQL全体を作成します。

タイトルとURLをコピーしました