【发布时间】:2021-02-23 14:56:21
【问题描述】:
如何在单个查询中获得总和和最后一天的总和以及计数,
这里是样本数据。
+----+-----------------+---------------------+
| id | transfer_amount | addedon |
+----+-----------------+---------------------+
| 1 | 50000.0000 | 2020-02-20 10:51:12 |
| 2 | 2000.0000 | 2020-02-20 10:52:57 |
| 3 | 10000.0000 | 2020-02-17 10:53:37 |
| 4 | 7000.0000 | 2020-02-17 10:54:28 |
| 5 | 500.0000 | 2020-02-17 10:55:07 |
| 23 | 1000.0000 | 2020-02-19 17:37:06 |
| 24 | 1000.0000 | 2020-02-19 17:41:12 |
| 25 | 1000.0000 | 2020-02-19 17:46:48 |
| 26 | 1000.0000 | 2020-02-19 17:47:17 |
| 30 | 1000.0000 | 2020-02-19 17:58:38 |
+----+-----------------+---------------------+
我试图给出查询,
select SUM(amount) as total_amount, COUNT('ALL') as total_count,
(select SUM(amount) from `transfers`WHERE date > '2021-01-04 23:59:59' AND
date <= '2021-01-05 23:59:59') as last_day_sum
from `transfers`;
结果
+----------------+-------------+--------------+----------------+
| total_amount | total_count | last_day_sum | last_day_count |
+----------------+-------------+--------------+----------------+
| 314286380.0000 | 88452 | 1200.0000 | 0 |
+----------------+-------------+--------------+----------------+
还有其他选择吗?
【问题讨论】:
-
WHERE date > '2021-01-04 23:59:59' AND date <= '2021-01-05 23:59:59'没有名为date的列。即使有,你也必须在它周围加上反引号,因为date是一个保留字。 -
@kmoser 日期不是保留字
标签: mysql