コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
--模範解答写経
SELECT
SV1.LINE_ID AS LINE
, SV1.SEAT_NO AS SEAT_F
--グルーピングした最大(3件目)の座席番号を取得
, MAX(SV2.SEAT_NO) AS SEAT_T
FROM
SEAT_RESERVE AS SV1
--3番目の座席番号を取得するために、同一テーブルを自己結合する
INNER JOIN SEAT_RESERVE AS SV2
ON SV1.LINE_ID = SV2.LINE_ID
WHERE
--チェックする先頭の座席番号から3番目までの座席番号を順番に取得する
SV2.SEAT_NO BETWEEN SV1.SEAT_NO
AND SV1.SEAT_NO + (3-1)
GROUP BY
--取得した3件のデータを列ID,座席番号でグルーピング
SV1.LINE_ID
, SV1.SEAT_NO
HAVING
--NULLIF関数で予約状況 = '1'の場合はカウント対象外として
--予約状況 = '0'が3件続いている場合を対象とする
COUNT(NULLIF(SV2.RSV_STATUS, '1')) = 3
ORDER BY
SV1.LINE_ID DESC
, SV1.SEAT_NO ASC;
提出情報
提出日時 | 2024/09/19 15:54:36 |
コンテスト | 第13回 SQLコンテスト |
問題 | 空席検索 |
受験者 | nanabantram |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 86 MB |
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
86 MB
データパターン2
AC
85 MB
データパターン3
AC
83 MB