付款历史表
==========================
UserId | Amount | Date
==========================
1 | 300 | 2014-06-26
3 | 300 | 2014-06-26
2 | 200 | 2014-06-26
1 | 400 | 2014-06-22
1 | 100 | 2014-06-21
显示两列,第一列是名为“currentEarning”的金额总和,与今天的日期相同,第二列是基于今天的前一个日期的名为“oldEarning”的金额总和。 (对于特定的 userId)请参阅输出:
输出
=====================================
UserId | currentEarning | oldEarning |
=====================================
1 | 300 | 500
最佳答案
您可以通过一个查询来完成此操作:
SELECT
SUM(IF(`Date` = CURRENT_DATE, AMOUNT, 0)) AS currentEarning,
SUM(IF(`Date` < CURRENT_DATE, AMOUNT, 0)) AS oldEarning
FROM PaymentHistory
GROUP BY `UserId`
比子查询或两个单独的查询更有效。
关于php - 根据日期获取总金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432715/