過去問解説見直し依頼(R3春午後問6)
広告
GinSanaさん
★AP プラチナマイスター
(No.1)
管理人さんへ
平素よりお世話になっております。
https://www.ap-siken.com/kakomon/03_haru/pm06.html
応用情報技術者過去問題 令和3年春期 午後問6
設問3(1)g
の解説の
①
平素よりお世話になっております。
https://www.ap-siken.com/kakomon/03_haru/pm06.html
応用情報技術者過去問題 令和3年春期 午後問6
設問3(1)g
の解説の
SELECT句に集約関数COUNTがあることから、GROUP BY句が必要であると判断できます。GROUP BY句を記述した場合、SELECT句に記述できる列はGROUP BY句で指定した列(とその列から一意に値を特定できる列)のみです。したがって、空欄にはSELECT句に記述されている(集計関数以外の)列でグループ化する「GROUP BY R.貸出予定年月日, R.駐車場ID, R.車種ID, R.会員ID」が当てはまります。
の部分について、いくつか見直しをお願いします。①
SELECT句に集約関数COUNTがあることから、
→SELECT句に集合関数COUNTがあることから、
②→SELECT句に集合関数COUNTがあることから、
GROUP BY句を記述した場合、SELECT句に記述できる列はGROUP BY句で指定した列(とその列から一意に値を特定できる列)のみです。
→GROUP BY句を記述した場合、SELECT句に記述できる列はGROUP BY句で指定した列(あるいは式)と集合関数を記述した内容のみです。
(とその列から一意に値を特定できる列)の部分で先日GROUP BYの理解で誤認した例を掲示板で確認したため、すみませんが見直しをお願いします。→GROUP BY句を記述した場合、SELECT句に記述できる列はGROUP BY句で指定した列(あるいは式)と集合関数を記述した内容のみです。
2025.04.06 15:09
管理人
(No.2)
ご提案ありがとうございます。具体的な改善案まで提示していただき大変助かります。
空欄gの解説ですが、ご意見を踏まえて次のように見直しました。
※ジョー・セルコ著『プログラマのためのSQL』第4版では、Aggregate Functionsで集約関数となっていました。
お手数をおかけしますが、間違いがありましたらご指摘願えると幸いです。
空欄gの解説ですが、ご意見を踏まえて次のように見直しました。
SELECT句に集計関数のCOUNTがあることから、GROUP BY句が必要だと判断できます。GROUP BY句があるときSELECT句の列として指定できるのは、GROUP BY句で指定した列(式を含む)と集計関数に限定されます。逆から言えば、少なくともSELECT句に記述されている集計キー以外の列は、GROUP BY句でも指定されている必要があります。
図4のSELECT句には取得対象の列として、R.貸出予定年月日、R.駐車場ID、R.車種ID、R.会員ID、COUNT(*)の5つが指定されていますから、前4つの列はGROUP BY句でグループ化の対象としなければなりません。したがって、空欄には「GROUP BY R.貸出予定年月日, R.駐車場ID, R.車種ID, R.会員ID」が当てはまります。
ご提案では集合関数とされていましたが、その後の文章で集計関数と記述していたこと、Web上を調べたところ集計関数・集合関数・集約関数のうち集計関数が多く使われているように感じたので、集計関数としました。図4のSELECT句には取得対象の列として、R.貸出予定年月日、R.駐車場ID、R.車種ID、R.会員ID、COUNT(*)の5つが指定されていますから、前4つの列はGROUP BY句でグループ化の対象としなければなりません。したがって、空欄には「GROUP BY R.貸出予定年月日, R.駐車場ID, R.車種ID, R.会員ID」が当てはまります。
※ジョー・セルコ著『プログラマのためのSQL』第4版では、Aggregate Functionsで集約関数となっていました。
お手数をおかけしますが、間違いがありましたらご指摘願えると幸いです。
2025.04.07 13:04
GinSanaさん
★AP プラチナマイスター
(No.3)
管理人さんへ
ご返信ありがとうございます。特段問題ないかと存じます。
私は集合関数以外の表記を知らなかったのもあり、一番多い表記が集計関数というのは初めて知りました。
ご返信ありがとうございます。特段問題ないかと存じます。
私は集合関数以外の表記を知らなかったのもあり、一番多い表記が集計関数というのは初めて知りました。
2025.04.07 13:12
GinSanaさん
★AP プラチナマイスター
(No.4)
この投稿は投稿者により削除されました。(2025.04.07 19:18)
2025.04.07 19:18
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から40日経過したスレッドへの投稿はできません。
広告