php - Mysql 查询 SUM 将每个结果相加?

标签 php mysql

抱歉,如果我的问题没有意义。不确定我们是否可以仅使用 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

An SQLfiddle to test with .

关于php - Mysql 查询 SUM 将每个结果相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23176283/

相关文章:

javascript - Ajax 结果依赖于 PHP 结果

php - 如何保护php代码?

php - 我如何用 epoch 和 mysql 每小时计数?

java - 如何使用 CriteriaQuery 查询使用 @Convert 注释持久化为字符串的集合?

javascript - Ajax 加载评论不起作用

php - 为什么PHPinfo会有header version和library version之分?有什么区别?

php - 添加 DATE_SUB 查询以返回 mysql 中的值范围

mysql - SQL语法,我做错了什么?

mysql - 使用 MYSQL 根据另一个表中的现有条目添加条目

php - Laravel 和 AWS Cloudfront