ソースコード

/*
所得階層別世帯人員別に世帯数を集計した世帯集計データより、各所得階層で世帯数が最大の世帯人員と世帯数を表示しなさい。
各所得階層での最大の世帯数は重複しないものとする。また、世帯人員コード(PERSON_CODE) = '1'(総数)、および、所得階層コード(CLASS_CODE) = '01'(総数)のレコードは対象外とすること。

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

CLASS_NAME → CLASS
PERSON_NAME → PERSON
AMT → HOUSEHOLDS
表示順

CLASS_CODEの昇順
*/

WITH t AS (
SELECT  
    CLASS_CODE
    ,MAX(AMT) AS AMT
FROM 
    HOUSEHOLD
WHERE 
    PERSON_CODE != '1' AND CLASS_CODE != '01'
GROUP BY 
    CLASS_CODE
)
,t2 AS (
SELECT *
FROM t
LEFT JOIN 
    HOUSEHOLD
    ON t.CLASS_CODE == HOUSEHOLD.CLASS_CODE AND t.AMT == HOUSEHOLD.AMT
)
SELECT 
    CLASS_NAME AS CLASS
    ,PERSON_NAME AS PERSON
    ,AMT AS HOUSEHOLDS
FROM t2
ORDER BY CLASS_CODE
提出情報
提出日時2022/10/19 15:50:24
コンテスト第3回 SQLコンテスト
問題最大世帯人員
受験者ksql
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量92 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
87 MB
データパターン2
AC
92 MB