计算每个用户ID的事务值

时间:2013-06-11 18:46:45

标签: php mysql database transactions

我有一个用于记录客户交易的数据库。

表(交易)的详情如下:

**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名消费者。

任何人都可以建议一种方法来做到这一点,因为到目前为止我已经画了一个空白。

非常感谢。

3 个答案:

答案 0 :(得分:1)

您是否尝试过SUMGROUP BY

类似的东西:

SELECT SUM(amount) as `total_amount`, userid
FROM `transactions`
GROUP BY `userid`

答案 1 :(得分:0)

SELECT userid, SUM(amount) AS total FROM transactions GROUP BY userid

SUM子句中使用SELECT之类的聚合函数通常只会导致输出一行,其中包含WHERE子句匹配的所有行的总和。 GROUP BY是这些函数的修饰符,使它们在指定字段中按每个唯一值聚合。

请参阅:Group By

答案 2 :(得分:0)

前50名消费者:

SELECT userid, SUM(amount) AS TotalSpent
FROM transactions
GROUP BY userid
ORDER BY TotalSpent LIMIT 50