• ベストアンサー
※ 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' を含める必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

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;

amocry
質問者

お礼

ありがとうございます。 こちらも今はテストできなくなってしまったので、解決しなければまた質問しますのでよろしくおねがいします。

関連するQ&A