目的
- TIMESTAMP型で扱っている売上やユーザー登録のデータを、一度のSQL文の実行で年・月別の集計をしたい時のために。
ケース
- テーブル:
sales
に、カラム:amount
(売上)およびcreated_at
が存在する場合。
対応
- 演算子やBETWEENで抽出してもいいが、
EXTRACT
を使うとスッキリする。
例
select
extract(year from created_at) as yyyy,
extract(month from created_at) as mm,
sum(amount) as total_amount
from
sales
group by
yyyy,
mm
order by
total_amount desc
;
- いい感じに"YYYY", "MM"別で"total_amount"が表示される。