我希望按如下方式SUM
查询的COUNT
。此查询正确返回每一行的计数 (1),但不确定如何将它们全部相加。
SELECT COUNT(*), jss_orders_headers.* FROM jss_orders_headers
LEFT JOIN jss_orders_extrafields
ON jss_orders_headers.orderID = jss_orders_extrafields.orderID
AND jss_orders_extrafields.extraFieldID = 5
GROUP BY jss_orders_headers.orderID
ORDER BY jss_orders_headers.orderID DESC
表结构是
jss_order_headers
订单号, 等等
jss_order_extrafields
存在, 订单号, 外场ID, 外场名称, 内容
当前返回的数据如下:
计数() |订单编号 |等等
1 | 99
1 | 104
1 | 106
我需要返回 COUNT()
列的 SUM
。所以在上面的 3 个示例中,我将返回 3
。
非常感谢
最佳答案
你的问题不是很清楚,但如果你只想要所有订单
的sum()
,那么你应该能够使用这样的东西:
select sum(TotalByOrder) TotalOrders
from
(
SELECT COUNT(*) TotalByOrder, jss_orders_headers.*
FROM jss_orders_headers
LEFT JOIN jss_orders_extrafields
ON jss_orders_headers.orderID = jss_orders_extrafields.orderID
AND jss_orders_extrafields.extraFieldID = 5
GROUP BY jss_orders_headers.orderID
) src
关于带有 GROUP BY 子句的 COUNT 的 MySQL SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880080/