実データで分析する

INPUT · スライド

月ごとに並べて変化を見る

01 / 04

日付は文字で入っている

ordered_on には 2026-05-06 のような文字が入っているよ。年・月・日がこの順に並んでいるから、そのまま ORDER BY すれば時系列に並ぶ。

でも「月ごとにまとめる」には、文字から月の部分だけを取り出す必要があるんだ。

02 / 04

`strftime` で月を取り出す

strftime は日付から好きな部分を取り出す関数だよ。%Y が年、%m が月。

strftime('%Y-%m', ordered_on) と書くと、2026-05-06 から 2026-05 が返ってくる。

SELECT ordered_on,       strftime('%Y-%m', ordered_on)         AS 月  FROM orders  ORDER BY id LIMIT 3;

実行結果

2026-05-06 | 2026-05
2026-05-11 | 2026-05
2026-05-18 | 2026-05

03 / 04

取り出した月でまとめる

AS で名前を付けておけば、その名前を GROUP BYORDER BY でそのまま使い回せるよ。

時系列は月の順に並べるのが基本。件数の多い順に並べてしまうと、増えたのか減ったのかが読めなくなるんだ。

SELECT strftime('%Y-%m', ordered_on)         AS 月,       COUNT(*) AS 件数  FROM orders  GROUP BY 月  ORDER BY 月;

実行結果

2026-05 | 5
2026-06 | 6
2026-07 | 4

04 / 04

並べて初めて変化が見える

1か月ぶんの数字だけでは「多い」「少ない」が言えない。となりの月と比べてはじめて、増えた・減ったが分かるんだ。

件数・個数・金額は別々に動く。「件数は減ったのに金額は増えた」みたいなことが起きるから、3つ並べて見よう。ここから書いてみよう。