MySQL SUM,同时保持汇总数据独立

时间:2018-11-05 10:50:16

标签: mysql sql sum

想知道是否有人可以指出我正确的方向。

我试图构建一些报表,查询销售表,但在使用SUM和Group by时遇到问题,但仍想使用原始行。

例如:

Select StockCode, SUM('Sell' * Qty) as Total from 'Sales'
Group by StockCode

我想将结果显示为SUM,但是我也想保留数量。

所以输出将类似于:

StockCode数量总计。

我显然可以运行一些PHP来使计算足够容易,但是我试图在SQL查询中尽可能多地完成代码以避免不必要的混乱代码。

是否有一种简单的方法可以执行此操作,或者您是否建议仅使用PHP进行计算。

表格示例:

StockCode   Qty  Sell
1234       2      1.99
5468       1      0.99
2456       2      2.99
1234       3      1.99
5648       1      2.99
2546       2      4.99
2456       3      2.99

按商品出售

示例:

StockCode   Qty  Sell    Total
1234       2      1.99   3.98
5468       1      0.99   0.99
2456       2      2.99   5.98
1234       3      1.99   5.97
5648       1      2.99   2.99
2546       2      4.99   9.98
2456       3      2.99   8.97

结果示例:

1234       5      1.99   9.95
5468       2      0.99   1.98
2456       5      2.99   14.95

2 个答案:

答案 0 :(得分:2)

如果我正确理解,则需要这样做:

SELECT StockCode, Sell, SUM(Qty) AS Quantity_Sold_At_This_Price, SUM(Sell * Qty) AS Quantity_x_Price
FROM sales
GROUP BY StockCode, Sell

结果:

| StockCode | Sell | Quantity_Sold_At_This_Price | Quantity_x_Price | 
| 1234      | 1.99 | 5                           |             9.95 | 
| 2456      | 2.99 | 5                           |            14.95 | 
| 2546      | 4.99 | 2                           |             9.98 | 
| 5468      | 0.99 | 1                           |             0.99 | 
| 5648      | 2.99 | 1                           |             2.99 | 

答案 1 :(得分:0)

“引号” 中可能有问题,您可以尝试

Select StockCode, SUM(`Sell` * `Qty`) as Total from `Sales`
Group by StockCode