HOME»基本情報技術者試験掲示板»平成28年春期午後問3
投稿する
平成28年春期午後問3 [2869]
新人さん(No.1)
設問2にでてくるSQL文について、
設問自体とは関係ないのですが最後の行に
GROUP BY 利用表.アトラクション番号,アトラクション表.アトラクション名
とありますが、ここに「アトラクション表.アトラクション名」を記載しなかった場合、
どうなってしまうのでしょうか?
利用表.アトラクション番号のGROUPだけで事足りてそうだな思って引っかかりました。
https://www.fe-siken.com/kakomon/28_haru/pm03.html
設問自体とは関係ないのですが最後の行に
GROUP BY 利用表.アトラクション番号,アトラクション表.アトラクション名
とありますが、ここに「アトラクション表.アトラクション名」を記載しなかった場合、
どうなってしまうのでしょうか?
利用表.アトラクション番号のGROUPだけで事足りてそうだな思って引っかかりました。
https://www.fe-siken.com/kakomon/28_haru/pm03.html
2021.02.17 13:44
かなさん(No.2)
★FE ブロンズマイスター
dev.mysql.com/doc/refman/5.6/ja/group-by-handling.htmlで、
標準 SQL では、GROUP BY 句を含むクエリーは、GROUP BY 句で名前が指定されていない選択リスト内の非集約カラムを参照できません。
と書かれている通り、GROUP BYで指定されていない列を集約関数を使わずに参照することはできません。
この問題の場合、「利用表.アトラクション番号」と「アトラクション表.アトラクション名」を集約関数を使わずに参照しているため、両方ともGROUP BYで指定してあげないといけません。
標準 SQL では、GROUP BY 句を含むクエリーは、GROUP BY 句で名前が指定されていない選択リスト内の非集約カラムを参照できません。
と書かれている通り、GROUP BYで指定されていない列を集約関数を使わずに参照することはできません。
この問題の場合、「利用表.アトラクション番号」と「アトラクション表.アトラクション名」を集約関数を使わずに参照しているため、両方ともGROUP BYで指定してあげないといけません。
2021.02.17 15:02
新人さん(No.3)
かなさんありがとうございます
GROUP BY にそんな制約があるとはしりませんでした。
ありがとうございました。
GROUP BY にそんな制約があるとはしりませんでした。
ありがとうございました。
2021.02.17 15:09