• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数件単位の集計のSQLについて)

数件単位の集計のSQLについて

このQ&Aのポイント
  • 数件単位で合計した集計方法を考えていますが、良い案が思い浮かびません。例えば、100件のレコードがある場合、ID.1~10までの合計、ID.11~20までの合計、ID.91~100までの合計といった感じで集計したいです。
  • 以下のテーブルを対象に集計を行います。IDと値のペアがあります。
  • 集計結果のイメージは、ID.1~10の合計値が50,000、ID.11~20の合計値が25,000といった具体的な値です。

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

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

Oracleの実機確認をする環境がないのですが、以下のような感じで行えるのでは? select floor((id-1)/10),sum(値) from t1 group by floor((id-1)/10) order by 1

kamonhiron
質問者

お礼

ありがとうございました。 自分がイメージした通りの集計を行う事ができました。

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

関連するQ&A

  • 集計のSQL文について

    SQLでの集計方法について質問です。 Oracle8iを使用しています。 あるテーブルに以下のようなレコードがあります。 ID 回数 値 1   1  100 1   2  200 1   3  300 2   1  150 2   2  550 .... この登録されている値をそのIDごとに、その回数まで回数ごとにサマリーした結果を出力したいのですが どうすればよいでしょうか。 ID 回数 値 1   1  100  ・・・(100) 1   2  300  ・・・(100+200) 1   3  600  ・・・(100+200+300) 2   1  150  ・・・(150) 2   2  700  ・・・(150+550) 宜しくお願いします

  • 集計を行うSQLについて

    以下の2テーブルの構成で、from_uid毎のto_uidへの在庫移動個数(val)を集計したいと考えています。 ユーザテーブル(user):uid(int), name(string) 在庫移動管理テーブル(zaiko):id(int), from_uid(int), to_uid(int), val(int) たとえば、それぞれ以下のようなレコードがあった場合、 <user> uid, name 1 aaa 2 bbb 3 ccc <zaiko> id, from_uid, to_uid, val 1 1 2 3 2 1 2 5 3 2 1 1 4 3 1 4 結果として、以下を得たいと考えています。 uid=1で検索した場合 to_uid, val 1 0 2 7 3 -4 uid=2で検索した場合 1 -7 2 0 3 0 uid=3で検索した場合 1 4 2 0 3 0 (イメージとしては、対戦表?の以下のような表を一行ずつ取得する様な感じです。) ___1__2__3 1__0__7_-4 2_-7__0__0 3__4__0__0 上記のような結果を得たい場合、どのようなSQLを書けばよいのでしょうか。 内容について、わかりづらい点等がありましたらご指摘ください。

  • SQLの時間データを15分単位で集計できますか?

    SQLで質問させてください。 現在、datetime型の項目があるのですが、これを15分単位で集計したいのです。具体的には以下のようなテーブルとなっています。 時間        値 ―――――――――――――――― 2009/1/1 15:02:00 1 2009/1/1 15:04:00 1 2009/1/1 15:16:00 1 2009/1/1 15:31:00 1 2009/1/1 15:48:00 1 2009/1/1 16:04:00 1 これを次のような形に集計できないものでしょうか? 年月   時間    数 ―――――――――――――――― 2009/1/1 15:00   2 2009/1/1 15:15 1 2009/1/1 15:30 1 2009/1/1 15:45 1 2009/1/1 16:00 1 何かアイデアがございましたら、よろしくお願いします。

  • SQLで違うテーブルの集計結果を比較することは可能でしょうか?

    SQLで違うテーブルの集計結果を比較することは可能でしょうか? 例えばAテーブルがこんな感じです A1_ A2_ A3___ A4 ____A5 XX_ YY _5 __2010/8/13 _10:00:59 Bテーブルはこんな感じです。 B1_ B2_ B3___ B4 ____B5 XX_ YY_ 米 __2008/5/20_ 00:00:00 XX_ YY_ 味噌 _2009/8/22_ 01:02:33 XX_ YY_ 卵__ 2007/8/21_ 23:35:55 XX_ YY_ 醤油 _2010/7/16_ 15:30:35 XX_ YY_ 胡麻_ 2010/8/13_ 02:02:02 です。 見つけたい条件はBテーブルに指定した日付が含まれてる(例えば今日8/13だとか)レコードがあればそのXXとYYが何件あるかカウントをしてその値がAテーブルのA3の値と同一か調べたいのですがこういうことは出来ますでしょうか? SQL Server2005です

  • カテゴリと個別商品の集計SQLについて

    カテゴリと個別商品の集計SQLについて質問です。 postgresのバージョンは9.0です。 次のテーブルより ------------------------------------------ id  カテゴリ  商品名    日付       値 ------------------------------------------ 1  野菜    ホウレン草  2010-01-01  100 2  野菜    ホウレン草  2010-01-02  100 3  野菜    ホウレン草  2010-02-02  100 4  野菜    キャベツ    2010-01-02  200 5  肉      牛肉      2010-01-01  500 6  肉      牛肉      2010-01-02  500 -------------------------------------------- 下の結果を得るSQLを考えています。 月毎の値の集計 カテゴリ  商品名     1月  2月    合計   カテゴリ合計  カテゴリ合計と合計との差 ----------------------------------------------------------------------------- 野菜    ホウレン草   200  100    300    500        200 野菜    キャベツ     200    0    200    500        300 肉      牛肉      1000   0    1000   1000         0 ----------------------------------------------------------------------------- ここでカテゴリの合計とは 上の場合、 ホウレン草(300)+キャベツ(200)=カテゴリ野菜(500)、です。 クロス集計とサブクエリを使えば出来そうなのですが、カテゴリ合計を出す部分の SQLが思いつきません、よろしくお願い致します。

  • ファイルメーカーで検索条件のみを集計

    初めての質問です。 FileMaker Pro.11です。 テーブル「報告書」のレコードからテーブル「分類別集計」にcountifの様な方法で、値を返せればと思っています。 他の情報サイトを見た所、自己リレーションを使用しての関数:countで、対象のレコード数の合計を計算することができるのは分かったのですが、これを、検索結果だけの対象レコード数を出すことは可能でしょうか? 例 フィールド 名前 日付 分類 レコード1  田中 2011/11/11 事故 レコード2  佐藤 2011/11/13 事故 レコード3  田中 2011/11/13 その他 レコード4  田中 2011/11/14 事故 といったものを「2011/11/13...2011/11/14」で検索かけ フィールド 名前 事故 その他 レコード1  田中 1   1 レコード2  佐藤 1 といった形に集計かけたいです。 説明不足だと思いますがご協力下さい。

    • ベストアンサー
    • Mac
  • access2007 レコードの集計がしたい

    アクセス2007で出席簿を作成しています。 先頭のレコードに1日~31日があり、最後に合計欄。(対象の1カ月分の出席日数) フィールドには氏名を記載し、最後に合計欄。(その日の合計出席人数) これをチェックボックス形式にし、マウスのクリックで記入できるようにしています。 今までエクセルで行っていましたが、アクセスを導入したのをきっかけに作成に挑戦しています。 エクセルではsum関数で簡単に出来たのですが、アクセスではそうもいかないようで四苦八苦しています。 フィールドの集計は出来たのですが、レコードの集計はどの様にしたらできますか? 氏名 1日 2日 … 31日 計 Aさん □  □    □  25←この部分の合計 Bくん □  □    □  10← 同上 … 計  31 20   28  ←このレコードの集計は出来た。 イメージ的にこのような感じです。 また、将来的にこの合計の部分を別のテーブルに関連付けて行きたいと思っています。 まずは集計の所での方法を教えて下さい。

  • 複数のテーブルから値を合計出力するSQLについて

    複数のテーブルから値を合計出力するSQLについて 以下の様な3つのテーブルがあり、それぞれのテーブルから値を合計した結果を取得したいと思っております。 この場合のSQL文をご教授いただけないでしょうか? 拙い説明でお分かりに難いかと思いますが、何卒、宜しくお願いします。 ●テーブル t1(テーブル1) id, 会員ID, 日付, 金額 t2(テーブル2) id, 会員ID, 日付, 金額 t3(テーブル3) id, 会員ID, 日付, 金額 ●期待する結果 上記、テーブル内の会員ID、日付が同じものの金額を合計して取得。(1行で出力) いずれかのテーブルに「会員ID」が一つしか存在しない場合も、「日付」、「金額」を取得して「合計金額」に反映。 もし、各テーブル、レコードの「金額」が「0」または「null」の場合は「0」として処理する。 ●期待出力結果イメージ 会員ID | 日付 | 合計金額 | -------------------------------- m001 | 2011/07/20 | 1500 | -------------------------------- m001 | 2011/06/10 | 2000 | -------------------------------- m002 | 2011/06/05 | 1000 | -------------------------------- m003 | 2011/05/25 | 0 | -------------------------------- m001 | 2011/03/05 | 3000 | ※「合計金額」は、「t1(テーブル1)」~「t3(テーブル3)」の中に含まれていた金額の合計。

    • ベストアンサー
    • 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の 値を求めたい。 **************************************************************** 初歩的な質問で申し訳ございませんが、 どなたかご教授願えませんでしょうか? よろしくお願いいたします。

  • SQLの集計について教えてください。

    環境はoracle9iです。 ■テーブルの構成 |年度|月|部署コード|商品コード|金額| ■テーブルの内容 |2010|01|AAA|001|1000| |2010|02|AAA|001|2000| |2010|01|AAA|001|3000| |2010|01|AAA|002|3000| |2010|02|BBB|003|4000| |2010|01|CCC|001|5000| |2010|03|CCC|001|6000| 上記のようなテーブルがあり、 これを年度,月,部署コード,商品コードでサマリした値を表示したいです。 と、ここまでなら上の4つでGROUP BYしてあげれば良いのですが、 そこに年度,部署コード,商品コードでサマリした 「累計金額」列を加える必要があります。(イメージは下記のとおりです。) ■抽出結果の構成 |年度|月|部署コード|商品コード|金額|累計金額| ■抽出結果の内容 |2010|01|AAA|001|4000|6000| |2010|02|AAA|001|2000|6000| |2010|02|BBB|003|4000|4000| |2010|01|CCC|001|5000|11000| |2010|03|CCC|001|6000|11000| GROUP BYと別の集計単位で列を作ることが可能か、 可能であればどのようなSQLを書くべきか、 というところを教えてください。