group by でselect

このQ&Aのポイント
  • 同じ苗字の人の数を取得する際に、青木が2人いたという結果を得るために、select mi,na,count(mi) from shain group by mi のクエリを実行しましたが、エラーが発生しました。
  • エラーの内容は、クエリに含まれている集計関数の一部として指定された式 'na' を含んでいないため、クエリの実行ができないというものです。
  • mi,na,count(mi) の3項目を取得するためには、クエリ内に 'na' を含める必要があります。
回答を見る
  • ベストアンサー

group by でselect

社員テーブルがありまして、同じ苗字の人がどれぐらいいるのかを取得しようとしています。 select mi,na,count(mi) from shain group by mi これで下のような結果を得るつもりが 青木 章太 2 ←青木が2人いたということ 青木 健吾 2 ←青木が2人いたということ 石田 雄人 5 ←石田が5人いたということ ・・・ 下のようなエラーになりました。どうしたらよいでしょうか? mi,na,count(mi) の3項目を得るのは必須です。 Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14' [Microsoft][ODBC Microsoft Access Driver] 集計関数の一部として指定された式 '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

  • 価格comで以下のメッセージが出てフリーズします

    出たり出なかったりですが、最近頻繁に出ます。 何か設定変更で直るのでしょうか。 Microsoft OLE DB Provider for ODBC Drivers エラー \'80040e31\' [Microsoft][ODBC SQL Server Driver]時間切れになりました。 /bbs/Main.asp, 行 420

  • ASPからMySQLへの接続

    http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_03.htm等を参考につくってみたのですが、 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。 や Microsoft OLE DB Provider for SQL Server エラー '80040e4d' 接続文字列の属性が正しくありません。 のエラーが出てしまいます。 PC環境はWindows2003server、mysql5.0.18です。

  • エントリーフォームが送信できません。

    とある会社のエントリーフォーム送信しようとしたら以下のメッセージが出ました。 「Microsoft OLE DB Provider for ODBC Drivers エラー '80040e21' 複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。 」 この場合、送信はできているのでしょうか? また、送信できてないとしたら、何が原因なんでしょうか? 教えてください。

  • Access98で作ったmdbをAccess2000で変換したらエラー発生

    こちらのFREEの掲示板を使いながらASPを勉強しているところですが、 Access98で作ったmdbをAccess2000のデータベースユーティリティで 変換したところ、下記のようにODBC Drivers エラーが発生しました。 Access2000で作成したmdbを使用する場合にはODBC Driverもバージョン アップしなければならないのでしょうか?対処方法についてもご指導 をお願いしたいと思っています。 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0x5b8 Thread 0x66c DBC 0x2091ba4 Jet' を開くことができません。

  • インターネットで川越市立図書館を検索し、入ろうとしたら「Microso

    インターネットで川越市立図書館を検索し、入ろうとしたら「Microsoft OLE DB Provider for ODBC Drivers エラー '80040e21' 複数ステップの OLE DB の操作でエラーが発生しました。各 OLE DB の状態の値を確認してください。作業は終了しませんでした。 /LM/W3SVC/1/ROOT/global.asa,行96」のエラーメッセージが出て入れませんでした。他のHPは問題ありません。図書館にも同様の問い合わせはないようです。何が問題でしょうか。

  • ASP 0x80004005 クライアントとの確立で失敗

    いつもお世話になっています。 つい昨日まで、対SQLserverにDB取得が出来ていたのですが、今日になって下記のエラーが発生してしまいました。 IISは匿名アクセスにはチェックが入っている状態です。 なぜこのような現象になるか全く掴めなくて困っております。 ----------------------------------------- エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC SQL Server Driver]クライアントの接続が確立できません ----------------------------------------- どなたか、ご教授をお願いいたします。 設定の確認事項は補足を入れていただければ、早急にお答えいたします。

  • ペヨンジュン・テディベア…

    ブロコリというページのペヨンジュンのテディベアをネット購入しようとして『買う』ページまで行ったのですが、 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。 /joonbear/order/buy.asp, 行 85 という表示が出て注文ボタンがありません。 注文ボタンを押してくださいという表示はあるのに… これってどういうことでしょう?? アクセス集中でしょうか??

  • ODBC Drivers エラー

    クリックありがとうございます。 先日、先行でチケットをとるページでチケットの予約をしました。 そのときはまったく問題がなくページにアクセスできたのですが 2日ほどまえから Microsoft OLE DB Provider for ODBC Drivers エラー '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]構文エラー。varchar 値 '*****' から int データ型に変換できませんでした。 /*****/****/****/**/logon_p.asp, 行 22 というエラー文がでてアクセスできなくなりました。 チケットのあたりはずれも同じページでの確認なので困っています。 どうすればいいでしょうか?

  • ディスクの空き容量が不足!?

    求人検索の一覧表を見ようとしたら Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver] ディスクの空き容量が不足しています。 /hot/cgi/kyujinb_01.asp, 行 291 と出ました。こんなこと表示がでたのは初めてなので戸惑っています…これはどういうことなんですか?? 関係ないかもしれませんが、 Cドライブは容量67.0GB、使用容量10.7GB、空き容量56.2GB Dドライブは容量2.00GB、使用容量13.0MB、空き容量1.99GB となっています。

  • VB5 + SQLServer2005 で長時間の処理

    今までVB5 OS:windowNT4.0 DB:SQLServer6.5 上で稼働していたシステムをサーバ入替があり OS:Windows2003 Server R2 DB:SQLServer2005 Standard Edition に入れ替えたところ データを読み込んで更新するような処理を1時間ぐらい実行していると Microsoft OLE DB Provider for ODBC Drivers でエラーが発生しました。 [Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (WrapperRead()). というエラーが発生します。 この現象を回避するにはどうしたらよろしいでしょうか?