[英]How to take a sum of a sum in SQL?
我有以下数据,我需要得到一个总和。
项目编号 | Work_Order_Number | 数量 |
---|---|---|
X-1 | 11 | 10 |
X-1 | 11 | 10 |
X-1 | 11 | 10 |
X-1 | 121 | 15 |
X-1 | 121 | 15 |
X-1 | 121 | 15 |
X-1 | 131 | 20 |
X-1 | 131 | 20 |
X-1 | 131 | 20 |
这个数据的问题是重复。
我使用以下代码对其进行了一些清理。
SELECT
Item_Number,
Work_Order_Number,
SUM(Qty) AS QTY,
COUNT(Work_Order_ID) AS Count
FROM table
WHERE Item_Number = 'X-1'
GROUP BY Item_Number, Work_Order_Number
要获得以下信息:
项目编号 | Work_Order_Number | 数量 | 数数 |
---|---|---|---|
X-1 | 11 | 30 | 3 |
X-1 | 121 | 45 | 3 |
X-1 | 131 | 60 | 3 |
如何更改代码以获得以下内容:
项目编号 | 总数(量 |
---|---|
X-1 | 45 |
我试过用这个:
SELECT
Item_Number,
Work_Order_Number,
SUM(Qty) AS QTY,
COUNT(Work_Order_ID) AS Count
SUM(SUM(Qty)/COUNT(Work_Order_ID)) AS Total_Quantity
FROM table1
WHERE Item_Number = 'X-1'
GROUP BY Item_Number
我知道你想得到一列的总数,如果是这样,这里是查询。 SELECT SUM(Qty) AS totalQuantiy FROM table1; 如果数据类型是 Varchar,则使用 COUNT function。
对我来说,您似乎想要总平均数量。
SELECT Item_Number, SUM(AverageQuantity) AS Total_Quantity FROM ( SELECT Item_Number, Work_Order_Number, AVG(Qty) AS AverageQuantity FROM table1 WHERE Item_Number = 'X-1' GROUP BY Item_Number, Work_Order_Number ) q GROUP BY Item_Number
项目编号 | 总数(量 |
---|---|
X-1 | 45.0000 |
db<> 在这里摆弄
SELECT Item_Number,
SUM(QTY) / COUNT(Item_Number) AS Total_Quantity
FROM
(SELECT
Item_Number,
SUM(Qty) AS QTY
FROM table
WHERE Item_Number = 'X-1'
GROUP BY Item_Number, Work_Order_Number) T
GROUP BY Item_Number
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.