ソースコード

/*世帯人員コードごとのマックスを求めるが、
それに値する世帯階層コードは何かを出せばいい

1.世帯人員コードごとのMAX
2.世帯人員コード、所得階層コードごとのMAX
3.JOIN*/

SELECT HO2.CLASS_NAME AS CLASS
,HO1.PERSON_NAME AS PERSON
,HO2.AMT AS HOUSEHOLDS

FROM
(SELECT CLASS_CODE AS CLASS_CODE
        ,CLASS_NAME AS CLASS_NAME
        ,MAX(AMT) AS AMT
        
    FROM HOUSEHOLD
   WHERE PERSON_CODE<>'1'
          AND CLASS_CODE <>'01'
    GROUP BY CLASS_CODE,CLASS_NAME ) AS HO2
LEFT JOIN
     (SELECT 
             PERSON_NAME AS PERSON_NAME
             ,CLASS_NAME AS CLASS_NAME
             ,CLASS_CODE AS CLASS_CODE
             ,MAX(AMT)AS AMT
        FROM HOUSEHOLD
        WHERE PERSON_CODE<>'1'
          AND CLASS_CODE <>'01'
        GROUP  BY  PERSON_CODE
             ,PERSON_NAME 
             ,CLASS_NAME 
             ,CLASS_CODE  ) AS HO1    
ON HO1.CLASS_CODE=HO2.CLASS_CODE
AND HO1.AMT=HO2.AMT
ORDER BY HO2.CLASS_CODE

提出情報
提出日時2022/10/21 08:49:44
コンテスト第3回 SQLコンテスト
問題最大世帯人員
受験者123456789010
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量79 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
77 MB