ソースコード
/*あるサイトの会員情報テーブル(USERS)から、2022年8月の1カ月に会員登録された人数を、
登録確認日時(CONFIRMED_AT)で日毎に集計して表示せよ。
また、会員登録が全くなかった日の人数はゼロとして表示すること。ただし、有効なデータ(VALID_FLG='1')のみ集計対象とする。

表示項目は以下とする。(エイリアスを使用し→の項目名とする)

2022年8月の日付 → REGIST_DATE
日付に対応した曜日(日~土) → WK
日毎の登録人数の合計 → TOTAL
表示順

REGIST_DATEの昇順
*/

WITH A AS(
SELECT '2022-08-01' AS DAY,
STRFTIME('%w','2022-08-01') AS WKNO,
SUBSTR('日月火水木金土',STRFTIME('%w','2022-08-01')+1,1) AS WEEK

UNION ALL
SELECT  DATE(DAY, '+1 DAYS'),
STRFTIME('%w', DATE (DAY, '+1 DAYS')) AS WKNO,
SUBSTR('日月火水木金土',STRFTIME('%w',DATE (DAY, '+1 DAYS'))+1,1) AS WEEK
FROM A
WHERE DATE(DAY, '+1 DAY') < '2022-09-01'
)


SELECT
DAY AS REGIST_DATE,
WEEK AS WK,
COUNT(USER_CODE) AS TOTAL
FROM A
LEFT JOIN USERS AS U
ON DATE(U.CONFIRMED_AT) = A.DAY
AND VALID_FLG = '1'
GROUP BY 1
ORDER BY 1
;
提出情報
提出日時2024/11/07 15:32:18
コンテスト第4回 SQLコンテスト
問題登録人数の日別集計
受験者yuta
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
85 MB
データパターン3
AC
84 MB
データパターン4
AC
84 MB