SQL問題 11月に抜けている日付はいつか

問題:nyumon1_posで11月に抜けている日付はいつか

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

抜けがなければどんなリストになるかを考え、差分を見ればよい。またサンプルデータは非常に小さいので「もし100万行あったらどうするか?」という視点で考えて欲しい。

解答: 12日と22日

解説:「 nyumon1_pos 」は非常にデータが少ないので日付順に並び変えて見ることもできなくない。
しかし実際のデータは膨大であるためまず無理なので、

そこで絞り込む必要があるが、
1.必要なのは11月だけ
2.日付をユニークにする
3.日付順に並び替える
ことで「11月の日付リストを作る」と考えられるか。SQLは基本的内容の組み合わせなのでさほど問題にはならないだろう。

SELECT DISTINCT date FROM `nyumon1_pos`
WHERE date >=’2019/11/01′
AND date <=’2019/11/30′
ORDER BY date

もし日付に抜けが無ければ11月は30レコードあるはずなので何日抜けているかは先にわかることを利用して過不足もチェックする。

SQL問題一覧はこちら

SQL問題

Posted by shinu