私はmySqlが初めてです。曜日ごとにテーブルからクリック数を計算する必要があります。
ここでの期間はデータベースによって異なります。しかし、先週のレコードがない場合は、リストに含まれていません。しかし、私はそれを0にする必要があります。そのためにはどうすればよいですか?
SELECT CASE
WHEN PERIOD >= NOW() - INTERVAL 4 WEEK
AND PERIOD < NOW() - INTERVAL 3 WEEK THEN '22-28 days ago'
WHEN PERIOD >= NOW() - INTERVAL 3 WEEK
AND PERIOD < NOW() - INTERVAL 2 WEEK THEN '15-21 days ago'
WHEN PERIOD >= NOW() - INTERVAL 2 WEEK
AND PERIOD < NOW() - INTERVAL 1 WEEK THEN '8-14 days ago'
WHEN PERIOD >= NOW() - INTERVAL 1 WEEK
THEN 'up to 7 days ago'
END WeekPeriod, IFNULL(count(CLICKS),0) TotalClicks
FROM TABLE
WHERE PERIOD >= NOW() - INTERVAL 4 WEEK
GROUP BY CASE
WHEN PERIOD >= NOW() - INTERVAL 4 WEEK
AND PERIOD < NOW() - INTERVAL 3 WEEK THEN '22-28 days ago'
WHEN PERIOD >= NOW() - INTERVAL 3 WEEK
AND PERIOD < NOW() - INTERVAL 2 WEEK THEN '15-21 days ago'
WHEN PERIOD >= NOW() - INTERVAL 2 WEEK
AND PERIOD < NOW() - INTERVAL 1 WEEK THEN '08-14 days ago'
WHEN PERIOD >= NOW() - INTERVAL 1 WEEK
THEN '01 to 7 days ago'
END
ORDER BY WeekPeriod";
答えは次のようになります
1-7 0
8-15 14
16-21 34
21-28 45