表示例:
| date_time | quantity
-------------------------
| 2017-08-12 09:11:51 | 1
| 2017-08-12 10:12:51 | 1
| 2017-08-12 12:45:51 | 1
| 2017-08-13 11:12:51 | 1
| 2017-08-13 11:12:51 | 1
| 2017-08-13 12:45:51 | 1
| 2017-08-13 13:57:51 | 1
| 2017-08-14 14:23:51 | 1
| 2017-08-14 16:34:51 | 1
| 2017-08-15 16:21:51 | 1
| 2017-08-16 14:31:51 | 1
我可以通过以下查询获得结果:
SELECT DATE(date_time) as date_time
,SUM(quantity) as quantity
FROM report
WHERE date_time BETWEEN '' AND ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3
结果:
| date_time | quantity
-------------
| 2017-08-14 | 2
| 2017-08-15 | 1
| 2017-08-16 | 1
我想之后对数量进行求和。例如:
quantity
---------
| 4
为了实现这一目标,我知道我需要使用结果作为子查询来求和。我尝试了这个,但它是错误的:
SELECT SUM(topla) FROM (
( SELECT DATE(date_time) as date_time
,SUM(quantity) as quantity
FROM report
WHERE date_time BETWEEN '' AND ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3
) AS topla
)
如何对数量求和?
最佳答案
首先,您必须按列名称对数量求和。 (在示例中我将其命名为 sub_quantity)
其次,您不需要选择日期。
所以你的查询可能是
SELECT SUM(sub_quantity) AS quantity
FROM
( SELECT SUM(quantity) AS sub_quantity
FROM report
WHERE date_time BETWEEN '' AND ''
GROUP BY DATE(date_time)
HAVING SUM(quantity) < 3) a
关于mysql - 对子查询结果求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48182609/