なるほど告知欄じゃねーの

前4)8)次6) 初1)新3)7) 板5)
■TYPEプログラミング部
[164]名無しって知ってますか?:2022/04/09(土) 11:14:37.77 ID:LkadEe16
AAS
環境:oracle db
テーブルのカラム:"POSITION" varchar型 と "NAME" varchar型 と "HEIGHT" number型

"MEIBO"テーブルから"POSITION"でグループ化し、"HEIGHT"の最大値と当該選手の"NAME"を抽出せよ(ただしselect句の中でサブクエリを用いよ)
って問題で、まあ肝は"NAME"のところのサブクエリだと思うんですけど
俺はもう一度MEIBOテーブルからPOSITIONでWHEREかけれHEIGHTの降順でソートした後に最初の1行を抜き出したんだけど、もっとスマートな解き方あるのかな



SELECT
POSITION
, MAX(HEIGHT)
, (
SELECT *
FROM (
SELECT NAME
FROM MEIBO SM
WHERE MM.POSITION = SM.POSITION
ORDER BY HEIGHT DESC
)
WHERE ROWNUM < 2
)
FROM
MEIBO MM
GROUP BY
POSITION;

1-0ch+ BBS 0.7.5 20220323