sql查询sum(field)和order by anotherfield和limit

vmdwslir  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(374)

我的名字是“银行”

+------------------------------+
|    id | amount | created     |
+------------------------------+
| 1 | 10 | 2018-01-18 00:10:00 |
| 2 | 20 | 2018-01-18 00:50:00 |
| 3 | 30 | 2018-01-18 00:20:00 |
| 4 | 40 | 2018-01-18 00:30:00 |
+------------------------------+

我需要一个60的输出
我试过这个问题

SELECT sum(amount) 
  FROM banking 
 WHERE created >= '2018-01-18 00:00:00' 
   AND created < '2018-01-18 18:01:35' 
 GROUP 
    BY created
 ORDER 
    BY created DESC LIMIT 2;

但我得到了一个

+---------+
|   | sum |
+---------+
| 1 | 20  |
| 2 | 40  |
+---------+

如何将单标量输出设为60(40+20之和)

7ivaypg9

7ivaypg91#

这就足够了:

select sum(amount) from
(SELECT sum(amount) amount FROM banking 
WHERE created >= '2018-01-18 00:00:00' AND created < '2018-01-18 18:01:35' 
GROUP BY created ORDER BY created DESC LIMIT 2)sum_amount;

检查sql fiddle

相关问题