ソースコード
WITH BASE AS(
SELECT
	A.TOTAL_VALUE
,	RANK() OVER (ORDER BY A.TOTAL_VALUE) AS RANK
FROM
	CONVENIENCE A
WHERE
	A.SURVEY_YEAR = 2019
AND	A.KIND_CODE = '100'
),
MAX_RANK AS(
SELECT
	MAX(A.RANK) AS RANK_MAX
FROM
	BASE A
),
BASE2 AS(
SELECT
	A.TOTAL_VALUE
,	A.RANK
,	B.RANK_MAX
,	ROUND(B.RANK_MAX / 2.0,-1) AS MEDIAN1
,	CASE WHEN ROUND(B.RANK_MAX / 2.0,-1) = TRUNC(B.RANK_MAX / 2.0) THEN TRUNC(B.RANK_MAX / 2.0) +1 ELSE ROUND(B.RANK_MAX / 2.0,-1) END AS MEDIAN2
FROM
	BASE A
,	MAX_RANK B
)
SELECT
	CEIL(AVG(A.TOTAL_VALUE)) AS SA_MEDIAN
FROM
	BASE2 A
WHERE
	(
		A.RANK = A.MEDIAN1
	OR	A.RANK = A.MEDIAN2
	)
提出情報
提出日時2022/12/11 11:21:10
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者r1000000
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量80 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
80 MB
データパターン2
AC
79 MB
データパターン3
AC
79 MB