SQL問題 11月4日の1人当たりの購入金額

問題:nyumon1_posで11月4日の1人当たりの購入金額を求めよ

利用テーブルはnyumon1_pos。 使い方はSQL学習用サンプルデータを参照。

・1人あたりの購入金額=購入金額の合計/購入者数
・dateの型に注意する

解答:500

解説:1人当たりなので購入金額全体をUUで割る。日付が文字列型になっているのでWHERE=‘2019/11/4’ではエラーになることに注意 。 人、日や月、店舗などよく使われる集計。

SELECT
SUM(tanka*quantity)/COUNT(distinct customer_id)
FROM `nyumon1_pos`
WHERE date=’2019/11/04′
GROUP BY date

問題文では11月4日と指定されているので日付で絞り込みしても間違いではないが、後で「やっぱりその前の日も・・・」となることが実によくあるので先を見越して日付ごとにまとめて出しておくと二度手間が減る

SELECT 
date
, SUM(tanka*quantity)/COUNT(distinct customer_id)
FROM `nyumon1_pos`
GROUP BY date
ORDER BY date

上との違いは絞り込みせずに日別の1人当たりの購入金額を出している。

SQL問題一覧はこちら

2020年1月2日SQL問題

Posted by shinu