• ベストアンサー

レコード数の取得について

A B  C --------- 1 10 001 1 10 005 1 10 009 1 20 001 1 20 002 1 20 004 1 20 007 のようなテーブルがあって、SQL文で集計し、 count 3 count 4 というように、値を出したいのですが、 どういうsql文を書けばよいでしょうか? アドバイスお願いします。

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

  • ベストアンサー
回答No.1

おはようございます! SELECT a,b,COUNT(c) count FROM テーブル名 GROUP BY A,B ORDER BY A,B で取れると思いますよ! 結果は A B COUNT ---------------- 1 10 3 1 20 4

w0a15455
質問者

お礼

ありがとうございました。 取得できました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SELECT/別テーブルのレコード数も取得したい

    ■環境 ・MySQL ■前提 ・テーブルA … idカラム ・テーブルB … A_idカラム ■やりたいこと ・テーブルAデータを取得する際、テーブルAレコードに応じて、テーブルB「A_idカラム」の数(レコード数)も取得したい ■取得イメージ例 ・テーブルA「全カラム」、「count」カラム ※「count」カラム … テーブルBにある「A_idカラム」の数 ■知りたいこと ・どこにも存在しないこの「count」カラムはどうやって作成したら良いでしょうか? ・全体のSQL文

    • ベストアンサー
    • MySQL
  • レコード集計のSQLについて

    お世話になります。 SQL Serverに関する質問です。 以下の内容を満たすSQLを作成したいのですが、 方法がわからず困っています。 (内容) *************************************************************** ・Aテーブル、Bテーブルには、以下のレコードが格納されています。 [Aテーブル] | key_code | code1 | code2 | code3 | money | person | ← カラム名 ---------------------------------------------- | 001 | 1 | 1 | 1 | 1000 | 10 | ---------------------------------------------- | 001 | 1 | 2 | 1 | 3000 | 10 | ---------------------------------------------- | 001 | 1 | 1 | 1 | 1000 | 10 | ---------------------------------------------- [Bテーブル] | key_code | cd1 | cd2 | cd3 | cd4 | cd5 | ・・・・・ | cd10 | ← カラム名 ------------------------------------------------------------ | 001 | 01 | 02 | 10 | 30 | 51 | ・・・・・ | 90 | ------------------------------------------------------------ | 002 | 01 | 02 | 03 | 10 | 40 | ・・・・・ | 55 | ------------------------------------------------------------ ・Aテーブルの key_code とBテーブルの key_code を関連付けて、  Bテーブルのcd1~cd10に格納されている各コード単位に集計した  Aテーブルのmoney及びpersonの値を取得したい。  例えば、 key_code = '000' でAテーブルとBテーブルを関連付けして、 Bテーブルのcd(1~10) = '10' で集計した Aテーブルの money と personの 値を求めたい。 **************************************************************** 初歩的な質問で申し訳ございませんが、 どなたかご教授願えませんでしょうか? よろしくお願いいたします。

  • 件数とデータを同時に取得するには?

    1つのSQL文で件数とデータを取得したいのですが無理でしょうか? イメージ図↓ SELECT カラム名,COUNT(*) FROM テーブル名; COUNT  カラム名 -------------------  3     データA       データB       データC

  • 重複レコードを高速で取得するSQL

    Access(mdb)から約2万件レコードのあるテーブルがあるとします。 列数は20ほど。 その中から、3つの列において重複しているレコードを取得したいのですが、 高速に取得する方法はありますでしょうか? (VB.NETで、重複レコードをユーザーに示す処理を作成したいのです) 以下のSQLを試したところ、1分以上時間がかかってしまいました。 ----------------------------- SELECT * FROM テーブルA table1 WHERE EXISTS ( SELECT * FROM テーブルA table2 WHERE table1.列A = table2.列A   table1.列B = table2.列B   table1.列C = table2.列C GROUP BY table2.列A HAVING COUNT(table2.列A) > 1 ) ----------------------------- アドバイスをお願いします。

  • SQL GROUPで件数の一番多いレコードのみ取る

    SQL GROUPで件数の一番多いレコードのみ取る ORACLE10です。 次のようなテーブルがあります。 USER -----------テーブル名 ID,NAME,DATA----列名 1,A,any 1,A,any 1,B,any 2,C,any 3,D,any このテーブルから、IDをGROUPにして、さらに、一番使用頻度の多いNAMEを取得したいのです。 表示したいのは、IDとNAMEです。 つまり、取得結果例は次のようになります。 取得結果例 ID,NAME----列名 1,A 2,C 3,D SQL文をどのように作れば可能でしょうか? ちなみに、IDやNAMEのマスタテーブルはありません。 自分では、「(select ID, NAME, count(*) from USER group by ID, NAME) COUNT」で、COUNTを内部テーブルにして、グループ内で一番多いcount(*)をmaxで取得してみようかと思ったんですが、そこからアイデアが出ませんでした。

  • 複数フィールドのカウント

    下記のようなテーブルで下記の結果を得られる SQL文を押していただけばと思います。 Micorosoft SQL Serverの予定です。 テーブル1 XX YY -------------------------- 商品a 商品d 商品b 商品a 商品c 得たい結果 商品a 2 商品b 1 商品c 1 商品d 1 UNIONでくっつけようと いろいろ考えて下記のようにしてみたいのですが SELECT XX,count(XX) FROM テーブル1 GROUP BY XX UNION SELECT YY,count(YY) FROM テーブル1 GROUP BY YY 下記の結果がえてしまい 商品a の結果を合計したです。 商品a 1 商品a 1 商品b 1 商品c 1 商品d 1 XX,YYを一括で集計(COUNT)できる方法やUNIONなどで別のフィールドにある同じ値を合計できる方法などもありましたらよろしくお願いします。

  • テーブルのどちらかにデータがない事があるテーブル結合について

    ■table a のテーブル構成 date a_id b_id c_id a_count ■table b のテーブル構成 date a_id b_id c_id b_count value 上記の2つのテーブル構成から、 ■date a_id b_id c_id毎の集計データ date a_id b_id c_id a_count b_count value を抽出するSQLが知りたいです。 table aにあって、table bに存在しない。又は逆もある為、 union しかないと思うのですが、思いつきません。。

    • ベストアンサー
    • MySQL
  • 前後のレコードを取得する

    SQL初心者です。 以下のようなテーブルがある時に、 -------- X Y Z -------- 1 c E 2 a C 3 d B 4 b A 5 e D -------- 「Xが3のレコードの、Zで昇順ソートした時の前後のレコードを取得する」 ということをしたいのですが、見当もつかずに困っています。 どんな些細なことでもよいので、何かご存知の方がいたら、アドバイス願えないでしょうか。 よろしくお願いします、

  • 重複したものをのぞいて、レコード数を取得したい

    MySQL4.1で、値で重複したものは除いて、レコード数を取得したいのですが、どうしたら出来るでしょうか? 【例】 A| -- a| b| c| d| a| b| 4の値が欲しい

    • ベストアンサー
    • MySQL
  • SQLite C/C++ でのテーブル数の取得

    よろしくお願いします。  テーブル名「TB1332」の有無を確認するSQL 文をこのようにしました select count(*) from sqlite_master where type='table' and name='TB1332'; PupSQLite でのcount(*)の値 当該テーブルが存在する場合 1 当該テーブルが存在しない場合 0 このように正しい結果が得られます。 しかし、Visul Studio 2010 C++ で下記のコードを実行しますと、result の値は、テーブルの有無に関係なく、常に0となります。 int result = sqlite3_exec(pDb, "select count(*) from sqlite_master where type='table' and name='TB1332';", NULL, NULL, &err); C/C++ で該当する、テーブル数を取得するコードの書き方を教えていただけないでしょうか。 環境 C/C++ Visual Studio 2010 Proffesional SQLite3 PupSQLite https://www.eonet.ne.jp/~pup/software.html