0

顧客によるトランザクションを記録するために使用されるデータベースがあります。

テーブル (トランザクション) は次のように設定されます。

**ID | Added-date | userid | amount | department | transaction-date | addedby**

 1     yyyy-mm-dd   P1001    9.78     dpt 1        yyyy-mm-dd         username

 1     yyyy-mm-dd   P1023    19.78    dpt 2        yyyy-mm-dd         username

 1     yyyy-mm-dd   P1021    39.78    dpt 3        yyyy-mm-dd         username

 1     yyyy-mm-dd   T1501    9.78     dpt 2        yyyy-mm-dd         username

=======

私がやりたいことは、各ユーザーのトランザクションの合計値を合計し、上位 50 の支出者を表示できるようにすることです。

これまで空白を描いてきたので、誰かがこれを行う方法を提案できますか。

どうもありがとう。

4

3 に答える 3

1

SUMとを試しましたGROUP BYか?

何かのようなもの:

SELECT SUM(amount) as `total_amount`, userid
FROM `transactions`
GROUP BY `userid`
于 2013-06-11T18:47:33.640 に答える
0
SELECT userid, SUM(amount) AS total FROM transactions GROUP BY userid

SUM句のように集計関数を使用するSELECTと、通常、句に一致するすべての行の合計を含む 1 つの行のみが出力されますWHEREGROUP BYこれらの関数の修飾子であり、指定されたフィールドの一意の値ごとに集計します。

参照:グループ化

于 2013-06-11T18:48:45.673 に答える