こんなテーブルから最新と過去の各日付の値を抜き出すSQLを書く
hogehoge_countsテーブル | 日付と何かの数を持つテーブル |
---|---|
hogehoge_type | 種別 |
date | 日付 |
SELECT DISTINCT new.type,
new.count 最新の数,
old.count 過去日付の数,
new.date 最新日付,
old.date 過去日付,
new.count - old.count 最新と過去の差分
FROM
(SELECT * FROM hogehoge_counts WHERE date = (SELECT max(date) FROM hogehoge_counts)) new
,
(SELECT * from hogehoge_counts WHERE date NOT IN (SELECT max(date) FROM hogehoge_counts)) old
WHERE new.hogehoge_type = old.hogehoge_type
ORDER BY old.date DESC, new.hogehoge_type;
FROM区のサブクエリで最新の日付と最新以外の日付を持つ値を引っ張ってそれを表示。