![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
下記のようなグループ化した結果を表示するSQL文を作りました。
SELECT メーカコード FROM 部品表 GROUP BY メーカコード, 部品番号 HAVING ((部品番号)="BUHIN1")
これを実行するとちゃんと結果が出るのですが、その結果の件数を求めるにはどのようなSQL文を追加すれば宜しいのでしょうか? COUNT文を使うと出来そうなのですが、
SELECT メーカコード, COUNT(メーカコード) AS CNT FROM 部品表 GROUP BY メーカコード, 部品番号 HAVING ((部品番号)="BUHIN1")
とやるとメーカコードの個別件数が表示されてしまいます。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちわ。
Oracle であれば、こんな書き方ができるかと思います。
SQL> SELECT COUNT(*) FROM (SELECT メーカコード FROM 部品表 GROUP BY メーカコード, 部品番号 HAVING ((部品番号)='BUHIN1'));
でも件数を取得するのであれば、わざわざSQL 文を発行
するよりも、SQL%ROWCOUNT (PL/SQL) や、
sqlca.sqlerrd[2] (Pro*C) を使った方が DB に余計な負荷がかからなくて
良いと思います。
この回答への補足
早速のご回答ありがとうございます!
私の使用環境は、Access97 です。
教えて頂いた SELECT COUNT(*) FROM (ぐるーぷ化のSQL) をSQL Serverに対し実行するとFROM文の誤りです、と表示されてしまいます。
Accessならクエリで段組みすれば解決しますが、将来的にSQL Serverへ接続する事を考え、SQL文のみで解決しようと思っております。
現在はレコードセット取得後、RecordCountプロパティにてデータ件数を調べています。
COUNT文を使ったほうが負荷が少ないと思ったのですがそんな事もなさそうですね・・。
No.4
- 回答日時:
AccessやSQL Serverでできるかどうかわかりませんが、
Oracleの場合は以下のようなサブクエリーを使えます。
SELECT COUNT(*) FROM (
SELECT メーカコード
FROM 部品表
GROUP BY メーカコード, 部品番号
HAVING ((部品番号)="BUHIN1")
)
ご回答ありがとうございます!急な仕事でご返答が遅くなり申し訳ありません。
Accessですと上記のSQL文は実行できませんでした。
Accessのサブクエリーの使い方を調べてみます。
どうもありがとうございました。
No.3
- 回答日時:
ちょっと思ったのですが
SELECT メーカコード FROM 部品表 GROUP BY メーカコード, 部品番号 HAVING ((部品番号)="BUHIN1")
のクエリーを作成してそのクエリーを元に集計関数を使用したクエリーを作成するのはどうでしょう?
例えば
SELECT count(メーカコード) as カウント FROM 部品表 GROUP BY メーカコード, 部品番号 HAVING ((部品番号)="BUHIN1")
->クエリー1
select count(カウント) from クエリー1
質問のいとにそっています&スマートでないですかね...。
ご回答ありがとうございます!お返事が遅くなり申し訳ありません。
現在手元で確認できる環境ではない為実行できませんが、
Accessのサブクエリーの使い方を参考にさせていただきます。
どうもありがとうございました!
No.2
- 回答日時:
やりたいことは、
「部品番号が"BUHIN1"である部品(レコード)を持つメーカの数の抽出」
ということでよろしいでしょうか?
手元にAccessが無いので、確認できませんが、一般的には下記の様なSQLで抽出できると思います。
-----------------------------------------
SELECT count(DISTINCT メーカコード) FROM 部品表 WHERE ((部品番号)="BUHIN1");
-----------------------------------------
部品番号 = "BUHIN1" の条件はグループ化してもしなくても影響がないので、Where句でも問題ありません。
この回答への補足
ご回答ありがとうございます!
やりたいことはおっしゃる通りです。
教えて頂いたSQL文をAccess97で実行したところ、エラーになってしまいました。
試しに DISTINCT を COUNT の前に配置したところエラーは出なくなったのですが、正しい結果が出てきません。
グループ化しなくてもよい方法で再度考えてみたいと思います。ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
GROUP BYを使ったSELECT文の総件数を求める方法
SQL Server
-
ACCESS クエリで、グループ化したものをカウントしたい
その他(データベース)
-
グループの数を取得したい
SQL Server
-
-
4
csvファイル 項目数取得
Visual Basic(VBA)
-
5
SELECT 文 GROUP での1件目を取得
SQL Server
-
6
Accessにてテーブル内の重複レコードをグループ化してカウントする方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLで改行を含む文の登録のし...
-
アクセスのクエリについて(前...
-
SQLでグループ化した結果の件数...
-
オラクルSQLの累計値取得方法に...
-
ORA-01722: 数値が無効です
-
SQLでNOT INと!=ALLの違い
-
フォームで検索 エラーの表示...
-
Accessで期間指定の売上合計と...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルの値をテキス...
-
FROM の中で CASE を使えるでし...
-
Oracle 2つのDate型の値の差を...
-
Accessのクエリでデータの入力...
-
エクセルグラフの凡例スペース
-
変数が選択リストにありません
-
テーブルの存在チェックについて
-
Accessクエリーで両方のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLで改行を含む文の登録のし...
-
フォームで検索 エラーの表示...
-
SQLでグループ化した結果の件数...
-
ORA-01722: 数値が無効です
-
改行コードを削除して取得する...
-
項目名の制限について
-
オラクルSQLの累計値取得方法に...
-
Accessで期間指定の売上合計と...
-
SQLでNOT INと!=ALLの違い
-
SQLの抽出方法について
-
データベースから抽出した一覧...
-
SQL文 2つのテーブルから、グ...
-
列名無効について
-
内部結合のSQL文
-
SQLを教えてください
-
アクセスのクエリについて(前...
-
SQL文のエラーについて
-
SQLのパラメータ・・
-
SQL抽出方法:売上Tを集計した...
-
以下のようなSQLについて教えて...
おすすめ情報