コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
SELECT
ROUND(AVG(TOTAL_VALUE)) AS SA_MEDIAN
FROM
(
SELECT
CV1.TOTAL_VALUE
FROM
CONVENIENCE AS CV1
INNER JOIN CONVENIENCE AS CV2
ON CV2.SURVEY_YEAR = 2019
AND CV2.KIND_CODE = '100'
WHERE
CV1.SURVEY_YEAR = 2019
AND CV1.KIND_CODE = '100'
GROUP BY
CV1.TOTAL_VALUE
HAVING
-- 自分より大きな値を持つ行数と、小さな値を持つ行数の両方の条件を満たすとHAVING句の条件が成り立つ
CASE MOD(COUNT(*), 2)
-- データ件数が偶数の場合
-- 「>= COUNT(*) / 2」で件数を判断し大きな値と小さな値の共通部分を対象とする
WHEN 0 THEN SUM(
CASE
WHEN CV2.TOTAL_VALUE >= CV1.TOTAL_VALUE
THEN 1
ELSE 0
END
) >= COUNT(*) / 2
AND SUM(
CASE
WHEN CV2.TOTAL_VALUE <= CV1.TOTAL_VALUE
THEN 1
ELSE 0
END
) >= COUNT(*) / 2
-- データ件数が奇数の場合
-- 「> COUNT(*) / 2 」で件数を判断して1件のみ対象とする
ELSE SUM(
CASE
WHEN CV2.TOTAL_VALUE >= CV1.TOTAL_VALUE
THEN 1
ELSE 0
END
) > COUNT(*) / 2
AND SUM(
CASE
WHEN CV2.TOTAL_VALUE <= CV1.TOTAL_VALUE
THEN 1
ELSE 0
END
) > COUNT(*) / 2
END
);
提出情報
提出日時 | 2024/07/17 10:48:52 |
コンテスト | 第4回 SQLコンテスト |
問題 | 中央値の算出 |
受験者 | ogata24026 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 84 MB |
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB