ソースコード
WITH T AS (
  SELECT 
    ROW_NUMBER() OVER (ORDER BY TOTAL_VALUE) AS ROWNUM,
    TOTAL_VALUE
  FROM
    CONVENIENCE
  WHERE
    SURVEY_YEAR = 2019
  AND
    KIND_CODE = '100'
)

,T_ODD AS (
  SELECT
    TOTAL_VALUE AS MEDI_VALUE
  FROM
    T
  WHERE
    ROWNUM = ((SELECT COUNT(*) FROM T) + 1) / 2
)

,T_EVEN AS (
  SELECT
    ROUND(AVG(CASE WHEN ROWNUM = (SELECT COUNT(*) FROM T) / 2 THEN TOTAL_VALUE
         WHEN ROWNUM = ((SELECT COUNT(*) FROM T) + 2) / 2 THEN TOTAL_VALUE
         ELSE NULL END),0) AS MEDI_VALUE
  FROM
    T
)


SELECT
  DISTINCT(CASE WHEN MOD(COUNT(*),2) = 1 THEN T_ODD.MEDI_VALUE
       ELSE T_EVEN.MEDI_VALUE END) AS SA_MEDIAN
FROM
  T CROSS JOIN T_ODD CROSS JOIN T_EVEN
;
提出情報
提出日時2024/04/07 14:44:41
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者tmatsu
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量84 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB