- ベストアンサー
MySQL4.1.15でのSUM関数でDISTINCTについて
お世話になっております。 MySQLの4.1.15を使用しております。 合計を出すSUM関数を使用し、重複する値を除外させて計算させる方法はありませんか? MySQL5.1からはSUM関数にDISTINCTをつければ重複値を削除できますが、4.1.15で同じ計算をさせる方法が分かりません。 ご教授の程宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
- nfushi
- ベストアンサー率31% (39/122)
関連するQ&A
- 複数のグループ化でのSUM関数について
お世話になります。宜しくお願い致します。 MySQL4.1.15を使っております。 下記のようなテーブルがあるとします。 hoge_table | id1 | id2 | total | | 1 | 10 | 100 | | 1 | 10 | 100 | | 1 | 10 | 100 | | 2 | 20 | 200 | | 2 | 20 | 200 | | 3 | 20 | 300 | | 4 | 20 | 400 | | 4 | 20 | 400 | | 4 | 20 | 400 | | 4 | 20 | 400 | | 5 | 20 | 500 | | 5 | 20 | 500 | | 6 | 30 | 600 | | 7 | 30 | 700 | | 7 | 30 | 700 | | 7 | 30 | 700 | | 7 | 30 | 700 | | 8 | 30 | 800 | | 9 | 30 | 900 | | 9 | 30 | 900 | | 9 | 30 | 900 | | 9 | 30 | 900 | | 9 | 30 | 900 | このテーブルに対して、下記のような条件でTOTALを出したいのです。 条件: id2でグループ化させた上、同じid1のtotalから重複を削除した合計 id2をグループ化させると、10、20、30の3レコードにまとまり、sum関数を使ってtotalの合計を出すと SQL = select id1,id2,sum(total) as total from hoge_table | id1 | id2 | total | | 1 | 10 | 300 | | 5 | 20 | 3300 | | 9 | 30 | 8700 | という結果になるかと思います。 ここで、sum関数で合計させるtotalを、さらにid1で重複を削除したtotalのみを集計したいのです。 つまり、 | id1 | id2 | total | | 1 | 10 | 100 | | 5 | 20 | 1400 | | 9 | 30 | 3000 | という結果を出したいのですが、どうしてもこの結果が得られません。 サブクエリでid1をグループ化させたtotalをsum関数で集計してもやはりだめでした。 何か良い方法は無いのでしょうか? 何卒、ご教授の程、宜しくお願い致します。
- ベストアンサー
- MySQL
- MySQLのSUM関数について
いつもお世話になっております。 宜しくお願い致します。 MySQLのSUM関数についてお聞きしたいのですが、データベースから特定の条件のカラムだけ合計をするという事はできないのでしょうか? たとえば・・・ hoge_table +------+-------+-------+ | user | data1 | data2 | +------+-------+-------+ | hoge | 1 | 0 | | hoge | 2 | 0 | | hoge | 1 | 1 | | hoge | 2 | 1 | +------+-------+-------+ というデータベースがあり、ここからdata1が1の場合の合計を集計するにはどうすれば良いのでしょうか? さらに、data1が2で、data2が0の場合といった複数の条件を指定して合計を出したいのですが、 方法が思いつきません。 select *, if(data1 = '1',sum('1'),'') as direct_dispatch_1 from hoge_table group by user とやってみたのですが、結果は4になってしまいました。 何か良い方法はございませんでしょうか?
- ベストアンサー
- MySQL
- エクセルのSUM関数について
SUM関数を使って合計を出す時、値に取り消し線を入れたセルを無視する(計算しない)ようにしたいのですが、どのような関数を使えばよいのか分かりません。教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルで関数SUMなどで
エクセルで関数SUMなどで 合計を求めた数値が、あるセルにあるとします。 その合計の数値を、そのまま数字として ・・・(関数(計算式)は無くして) 他のセルに貼り付けたいのですが そのような事は出来ますでしょうか・・・。 御教示の程、よろしくお願いいたします。 <m(__)m>
- ベストアンサー
- オフィス系ソフト
- Excel VBAの SUM関数について質問です。
Excel VBAの SUM関数について質問です。 SUM関数で合計の値を出す場合、 SUM(A1:A5)という関数で合計を出しますが SUM(sheet2.cells(1,1),sheet2.cells(5,1)) と言ったようにCellsで指定はできないのでしょうか? 複数の列にVBAのプログラムで合計の値を出したいのです。 WorksheetFunction.SumではSUM(A1:A5)のように 自動計算にならないと思うので・・・
- ベストアンサー
- その他(プログラミング・開発)
- エクセル SUM関数
超初心者です。 SUM関数が合計を計算するための関数だとわかっているのですが、引き算やかけ算をさせてはダメなんですか? たとえば、 =SUM(A1-A2*A3) のような式を入れても、ちゃんとした数値(答え)が出てきてると思うのですが・・・(ーー;)
- ベストアンサー
- オフィス系ソフト
- SUM関数を教えてください
エクセル画面です A B C 1 氏名 点数 2 H氏 10 3 A氏 20 4 S氏 30 5 T氏 40 6 Z氏 50 7 D氏 60 8 合計 S氏を基準としてS氏が(A4)の位置にある場合の合計を出すときの計算式は B8=SUM(B4:B7) となります S氏が(A5)の位置に来た場合 B8=SUM(B5:B7) となります S氏のセルの位置が上下に移動するので SUM関数で範囲を自働的に変動させて計算させる方法を 教えてください よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- SUM関数を教えてください
エクセル画面です A B C 1 2 H氏 10 3 A氏 20 4 S氏 30 5 H氏 40 6 Z氏 50 7 S氏を基準としてS氏が(A4)の位置にある場合の合計を出すときの計算式は =SUM(B2:B3) となります S氏が(A5)の位置に来た場合 =SUM(B2:B4) となります S氏のセルの位置が上下に移動するので SUM関数の範囲を自働的に変動させて計算させる方法を 教えてください よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- SUM関数について
色々試したのですが、うまくいきません。 お分かりになる方、是非教えて下さい。 EXCEL2007で =SUM(Sheet1:Sheet2!A1)と数枚のシートの同じセルのトータルを 計算させています。 ところが対象セルに空白が1つでもあり、合計がゼロになる場合、ゼロと表示せず、 空白セルになってしまいます。 対象セルに空白があっても、合計が1以上の場合は答えが表示されます。 IF関数やISBLANK関数を使用してみても、うまくゼロ表示ができませんでした。 どのような数式にすれば、対象セルに空白があり、合計がゼロになる場合、ゼロと表示 してくれるのでしょうか? 是非教えて下さいお願いします。
- ベストアンサー
- その他MS Office製品
お礼
ありがとうございます。 うーん、やってみたんですが思い通りの結果が得られませんでした。