- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:group by でselect)
group by でselect
このQ&Aのポイント
- 同じ苗字の人の数を取得する際に、青木が2人いたという結果を得るために、select mi,na,count(mi) from shain group by mi のクエリを実行しましたが、エラーが発生しました。
- エラーの内容は、クエリに含まれている集計関数の一部として指定された式 'na' を含んでいないため、クエリの実行ができないというものです。
- mi,na,count(mi) の3項目を取得するためには、クエリ内に 'na' を含める必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Selectで記述した項目はGroup byでも必要。 select mi,na,count(mi) from shain group by mi,na select mi&na,count(mi) from shain group by mi&na の方が「わかりやすい」という意味で適切かも。
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
失礼しました。題意を読み取り違えてました。 1)副問い合わせで、先に「苗字毎の件数が1を越える苗字」を抽出。 2)その結果を受けて、該当の苗字をもつレコードとその件数を表示、ですね。 1)と2)を別クエリで作成するのが、簡単かつ確実。 一文での記述は試験環境が無いので怪しい。 Oracleだったら以下でいけるハズだがACCESSはどうでしょう?? select b.mi, b.na, a.kensuu from syain b,(select mi, count(*) kensuu from shain group by mi having count(*)>1) a where b.mi=a.mi;
お礼
ありがとうございます。 こちらも今はテストできなくなってしまったので、解決しなければまた質問しますのでよろしくおねがいします。