2016-05-18 9 views
1

私はmysqlが初めてです。私は、複数の行の合計と差を計算し、特定の列に配置するためのクエリを作成しようとしています。複数行のmysql合計と差分

例: Type '1'のEntity'A 'を合計し、その結果から型' 0 'のEntity'A'の合計を減算したいとします。この差が正または負である場所を示す表を同時に入力します。

サンプルテーブル:

Entity Type Value 
A  1  200 
B  1  500 
C  0  350 
B  0  150 
C  1  100 
A  1  50 
A  1  350 

予想される出力:Entity'A」例えばはType'0' のエントリを持っていないかもしれないという

Entity Diff-Positive Diff-Negative 
A   600 
B   350 
C       250 

は注意

答えて

4

これは基本的に集約されます。値を別々の列に分割するには、条件付きが必要です。一方向はgreatest()を使用します:

+0

ありがとうございました。あなたのソリューションは魔法のように動作します。しかし、比較と学習の目的のために。同じ結果が得られることをご存知の他の方法で私に恩を捧げてください。 –

+0

また、結果セットでDiff-PositiveがDiff-Negativeより前に来るようにする必要がある場合は、 'Entity'の順序に注意を払う必要があります。すなわち、Entity'A 'およびEntity'B'がDiff-Negativesである場合、アルファベット順などのためにEntity'B 'が結果セット内のEntity'Aの前に来ることはできません。どのようにこれを行うことができますか? –

+0

@Ken。 。 。私はあなたが詳細を持って別の質問をするべきだと思います。 –