• ベストアンサー

グループ集計と総合集計を行うには

khazad-leftyの回答

回答No.3

Case文を使って Select Sum(case When A=0 then 1 else 0 end +case When B=0 then 1 else 0 end +case When C=0 then 1 else 0 end ) as total, Sum(case When A=0 then 1 else 0 end) as asum で出すとか…。

関連するQ&A

  • アクセスでの総合計

    アクセス2003で作業しているのですが、 わからないことがありますので教えてください。 フィールド名: 種類 金額1 金額2          A  120   500          B  300   400          C  250   450          A  300   750 というようなテーブルがあり、 種類は1列しかないのですが、金額が全部で5列あります。 この中から、Aの総合計・Bの総合計・Cの総合計とやりたいと 思っているんですが、どうすればできますでしょうか? できれば、SQLでやりたいと思っております。

  • MySQL: 複数テーブルのcount

    複数テーブルの総行数(count値)を取得したいのですが、下記だとテーブルA,B,Cの結果が バラバラに出力されてしまいます。 【入力条件】 mysql> select COUNT(*) AS 列ID from テーブルA      union all      select COUNT(*) AS 列ID from テーブルB      union all      select COUNT(*) AS 列ID from テーブルC; 【出力結果】       +-----+       | 列_ID |       +-----+       |  1  | ←テーブルAの合計:行数       |  2  | ←テーブルBの合計:行数       |  3  | ←テーブルCの合計:行数       +-----+ 総行数:6を一発で取得するには、どのようにしたらよろしいのでしょうか? 大変恐縮ですが、ご教授よろしくお願いいたいます。 <<MySQLのverは5,5です。

    • ベストアンサー
    • MySQL
  • 条件文を使ったグループ出力SQL文

    SQL初心者です。な~んだこんな事くらいと言わず教えてください。 テーブルに A B C ------------ 5 a b 7 c d 4 a d 5 f b ------------ というデータがあります。 これを Bの列については、aとa以外 Cの列については、bとb以外 というようにグルーピングして、合計値を出したいと思っています。 結果として a b 5 a b以外 4 a以外 b 5 a以外 b以外 7 という形の出力イメージです。 調べてみてcase when文を使えばいいなんてことをなんとなく理解しているのですが、group byと組み合わせてどのようにSQL文を書けばいいかわかりません。 SQL Serverを使っています。ご存知の方、ご教授ください。

  • エクセル 集計方法を教えてください

    エクセル2003について教えてください。 宜しくお願いします。  A B C 1 2 あ   2 0   あ 3 2 い い 4 1   あ 5 2 あ あ 上記のような表で、「B列にあ」と「C列にあ」と「B列C列共にあ」の場合のA列の合計値5を導きだすには どのようにしたら良いのでしょうか? 上記のようなあの合計・いの合計と20種類の合計値を 200行ぐらいから集計したいのですが宜しくお願いいたします。

  • エクセルの集計で

    エクセルの集計で以下のようなことを早くする方法がないかお聞きします。 A列に仕入先B列に仕入金額が入ったデータがあり (A列は仕入先によって行数が異なります)、 C列で仕入先ごとの集計をしたい場合、 現在は〇〇商店の1ヶ月の合計を出すためにオートザムで B列の〇〇商店のみのデータを集計しています。 仕入先の行数が同じならばコピーしていけばいいのですが、 違うので何か簡単に集計する方法がないかお尋ねします。

  • グループ化した個数をSQL文で書くと・・・

    大変、初心者的な質問で申し訳ありません。 下記のようなテーブルがあるとします。 --- 列1 列2 a いも b さくらんぼ a バナナ c りんご a いも --- 列1・列2でグループ化して、列1におけるの"グループの個数"を出したいと思っています。 つまり、結果としては、 a 2 b 1 c 1 という結果を望んでいます。 おそらくSQLを使われている方は非常に簡単だと思いますが、ご存知の方ご教授お願いします。

  • 簡単なSQLを書くには?

    あるテーブルに列が40~50個ほど存在しており、そのテーブルに置いて合計を求めたいと考えております。 通常の方法であれば、 SELECT SUM(a1), SUM(a2), SUM(a3),.... `table` WHERE b1="0" OREDER BY c1 と書くのですが、列が40個もSUM()を書き続けるのが面倒なので何か簡単に合計を求めるSQLをご存じありませんでしょうか?

    • ベストアンサー
    • MySQL
  • SELECT 文 GROUP での1件目を取得

    非常に初歩的な事で恐縮ですが、 以下のデータを抽出するsql文の書き方を模索しています。 環境:SQLSERVER2005 | 列1| 列2 | +---+---+ | 1 | A | | 1 | B | | 1 | C | | 1 | D | | 2 | F | | 2 | G | | 2 | H | | 3 | X | | 3 | Y | | 3 | Z | 上記のテーブルがあるとします。 列1でグループした値で、1レコード目の列2を抽出したいのです。 出力結果としては、 列1列2 +--+--+ 1,A 2,F C,X としたいのです。 列1でGROUPしてしまうと列2の内容を集約しないといけないので困っています。 ご教授いたけないでしょうか?

  • テーブルに存在しない列をselect文で出力する事はできないでしょうか?

    例えば、「TEST」テーブルに列 A,B,C が存在する場合、 SELECT A,B,C FROM TEST; で、A,B,C を出力できますが、TEST テーブルに存在しない列 D を固定値「あああ」 で出力する事は可能でしょうか? 可能でしたら、SQLの記述を教えて頂けないでしょうか? 有識者の方、よろしくお願いします。

  • 集計をしたい

    SQLで集計をしたいです。 SQLを始めたばかりの者です。 下記、よろしくお願いします。 説明不足がありましたら、ご指摘をお願いします。 MS-SQLServer2005環境です。 下記の売上テーブルが存在します。 テーブル:UriageTBL 年月日 受注番号 商品コード 商品名 個数  単価  金額 20101001 100   300     リンゴ   1   100   100 20101001 110   400     バナナ   1   150   150 20101001 110   400     バナナ  -1   150  -150 20101001 120   500     キャベツ  1   120   120 20101002 130   500     キャベツ  1   120   120 20101002 140   600     レタス   1   110   110 20101002 140   600     レタス   1   110   110 20101002 150   400     バナナ   1   150   150 ----------------------------- 商品コードに対応する商品グループ(テーブルは存在しません) 商品コード 商品グループ 300     果物 400     果物 500     野菜 600     野菜 ---------------------------- 【結果】 年月日 商品グループ 受注件数 個数合計 金額合計 2010/10/01 果物       1     1     100 2010/01/01 野菜       1     1     100 2010/10/02 果物       1     1     150 2010/10/02 野菜       2     3     340 売上テーブル(UriageTBL)を、年月日別、商品グループ別に集計し、受注件数、個数合計、金額合計を取得したいです。 また、商品コードに商品グループテーブルが存在しない為、SQL内で設定します。 ただし、受注合計金額が0円の時は集計から外します。(受注番号110は集計から外します。) (受注件数は、受注番号の件数です。) 上記の場合、どのようなSQLの組み方をすればよいのか見当もつかず悩んでおります。 どなたかご教授頂ける方がいらっしゃいましたら、よろしくお願い致します。