抱歉,如果我的问题没有意义。不确定我们是否可以仅使用 mysql 执行此操作。假设我有这个查询:
SELECT SUM(win) * 100 as win_profit, date, uid FROM `tips` WHERE uid = 60 AND placed = 1 GROUP by date
这显然会得到数据库中每天获胜列的总和。
假设数据库有:
|___win___|____date____|
| 10 | 2014-04-16 |
| 10 | 2014-04-16 |
| 10 | 2014-04-17 |
| 10 | 2014-04-18 |
| 10 | 2014-04-18 |
| 10 | 2014-04-18 |
| 10 | 2014-04-19 |
| 10 | 2014-04-19 |
| 10 | 2014-04-19 |
这将导致:
20
10
30
30
我怎样才能得到它的结果,所以每个加起来,仅限 mysql 查询。所以结果是:
20
30
60
90
最佳答案
您可以获得所有不同的日期,并且 LEFT JOIN
可以找到截至该日期的所有值的总和;我保留了您的示例查询中的 100 乘数,但您需要将其删除才能获得与您想要的结果相匹配的结果。
SELECT 100 * SUM(b.win), a.date
FROM (SELECT DISTINCT date FROM `tips`) a
LEFT JOIN tips b ON a.date >= b.date
GROUP BY a.date
ORDER BY a.date
关于php - Mysql 查询 SUM 将每个结果相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23176283/