コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
SELECT
f.PF_CODE AS `都道府県コード`,
PF_NAME AS `都道府県名`,
max1.NATION_NAME AS `1位 国名`,
max1.AMT AS `1位 人数`,
max2.NATION_NAME AS `2位 国名`,
max2.AMT AS `2位 人数`,
max3.NATION_NAME AS `3位 国名`,
max3.AMT AS `3位 人数`,
SUM(f.AMT) AS `合計人数`
FROM
FOREIGNER AS f
LEFT JOIN (
SELECT
agg.PF_CODE,
NATION_NAME,
AMT
FROM
(
SELECT
PF_CODE,
MAX(AMT * 1000 + NATION_CODE) % 1000 AS NATION_CODE,
MAX(AMT * 1000 + NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER
WHERE
NATION_CODE != 113
GROUP BY
PF_CODE
) AS agg
LEFT JOIN NATIONALITY AS n ON agg.NATION_CODE = n.NATION_CODE
) AS max1 ON f.PF_CODE = max1.PF_CODE
LEFT JOIN(
SELECT
agg.PF_CODE,
NATION_NAME,
AMT
FROM
(
SELECT
f.PF_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) % 1000 AS NATION_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER AS f
LEFT JOIN (
SELECT
PF_CODE,
MAX(AMT * 1000 + NATION_CODE) % 1000 AS NATION_CODE,
MAX(AMT * 1000 + NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER
WHERE
NATION_CODE != 113
GROUP BY
PF_CODE
) AS max1 ON max1.PF_CODE == f.PF_CODE AND max1.NATION_CODE == f.NATION_CODE
WHERE
f.NATION_CODE != 113
AND max1.PF_CODE IS NULL
GROUP BY
f.PF_CODE
) AS agg
LEFT JOIN NATIONALITY AS n ON agg.NATION_CODE = n.NATION_CODE
) AS max2 ON f.PF_CODE = max2.PF_CODE
LEFT JOIN (
SELECT
agg.PF_CODE,
NATION_NAME,
AMT
FROM
(
SELECT
f.PF_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) % 1000 AS NATION_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER AS f
LEFT JOIN (
SELECT
PF_CODE,
MAX(AMT * 1000 + NATION_CODE) % 1000 AS NATION_CODE,
MAX(AMT * 1000 + NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER
WHERE
NATION_CODE != 113
GROUP BY
PF_CODE
) AS max1 ON max1.PF_CODE == f.PF_CODE AND max1.NATION_CODE == f.NATION_CODE
LEFT JOIN (
SELECT
f.PF_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) % 1000 AS NATION_CODE,
MAX(f.AMT * 1000 + f.NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER AS f
LEFT JOIN (
SELECT
PF_CODE,
MAX(AMT * 1000 + NATION_CODE) % 1000 AS NATION_CODE,
MAX(AMT * 1000 + NATION_CODE) / 1000 AS AMT
FROM
FOREIGNER
WHERE
NATION_CODE != 113
GROUP BY
PF_CODE
) AS max1 ON max1.PF_CODE == f.PF_CODE AND max1.NATION_CODE == f.NATION_CODE
WHERE
f.NATION_CODE != 113
AND max1.PF_CODE IS NULL
GROUP BY
f.PF_CODE
) AS max2 ON max2.PF_CODE == f.PF_CODE AND max2.NATION_CODE == f.NATION_CODE
WHERE
f.NATION_CODE != 113
AND max1.PF_CODE IS NULL
AND max2.PF_CODE IS NULL
GROUP BY
f.PF_CODE
) AS agg
LEFT JOIN NATIONALITY AS n ON agg.NATION_CODE = n.NATION_CODE
) AS max3 ON max3.PF_CODE = f.PF_CODE
LEFT JOIN PREFECTURE AS p ON p.PF_CODE = f.PF_CODE
WHERE
NATION_CODE != 113
GROUP BY
`都道府県コード`,
`都道府県名`,
`1位 国名`,
`1位 人数`,
`2位 国名`,
`2位 人数`,
`3位 国名`,
`3位 人数`
ORDER BY
`合計人数` desc,
`都道府県コード`
提出情報
提出日時 | 2022/07/20 21:28:55 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | jf1hnl |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 93 MB |
メッセージ
テストケース(通過数/総数)
1/2
状態
メモリ使用量
データパターン1
WA
93 MB
データパターン2
AC
48 MB