私は面倒なMySQLデータテーブルで作業しています。私は引き出すレコードのグループを持っていますが、レコードは重複しています。私は適切に別の値を合計する必要があります。ここでは状況はだ...私は引き出すしたいどのようなデータダップを削除して合計を
identifier category value 1 a 40 1 a 20 1 b 80 1 c 40 1 a 80 2 a 20 2 b 40
考える
はこの場合、次の
identifier category 1 200 2 60
ですが、私は化合物によって定義されるように、重複を排除したいです"value"フィールドでMAXを使用するidentifier + categoryのキー。それで私は次のようになります:
identifier category value 1 a 80 1 b 80 1 c 40 2 a 20 2 b 40
次に、識別子に基づいて「値」を合計します。
これは私が必要としていることを知っている別の例ですが、1つのSQL文でどのように行うのかはわかりません。私は一時テーブルを使用して、その上で集計(SUM)クエリを実行することができます。しかし、私は1つのステートメントですべてを試してみたいと思います。
潜水艦を使って上記の結果の上に集約を行う取得するには、各
identifier + category
で
Max
値を取得するにはMAXを取得してからアウターセレクトでSUMを使用することを選択します。 –「別個の」値を別のクエリのインラインビューとして取得するクエリを使用します。つまり、select max ... group by ...クエリは、外部クエリのFROM句で参照されるrowsourceになります。アウト問合せは集計を実行してSUMを取得できます。 (MySQLは、派生テーブルとしてインラインビューを参照しています。) – spencer7593