我有一个SUM SQL查询,用于在asp.net中显示图表。
它汇总具有相同值的数量的数量,例如:
Quantity|Total
--------|-----
1 | 5
2 | 10
3 | 12
4 | 16
5 | 5
6 | 8
基本上,有5个订单,数量= 1,有10个订单,数量= 2,依此类推。
SELECT Quantity, SUM(Quantity) AS Total
FROM orders
GROUP BY Quantity
那就是我的代码。
我想知道如何进行查询,以便得到此结果。
Quantity|Total
--------|-----
1 | 5
2 | 10
3 | 12
4 | 16
5 | 5
6 | 8
6+ | 5
因此,数量大于6的每个订单都应加在一起并显示为6+ | 5。
您可以CASE
在SELECT
和中使用声明GROUP BY
:
SELECT CASE WHEN Quantity > 6 THEN '6+' ELSE CAST(Quantity AS CHAR(2)) END AS Quantity,
SUM(Quantity) AS Total
FROM orders
GROUP BY CASE WHEN Quantity > 6 THEN '6+' ELSE CAST(Quantity AS CHAR(2)) END;
NB基于此声明:
基本上,有5个订单,数量= 1,有10个订单,数量= 2,依此类推。
并且您期望的结果听起来像是要使用,COUNT
而不是SUM
,因为如果有10个订单的数量= 2,SUM(Quantity)
则将产生20个订单,而不是结果中指示的10个订单。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句