想知道是否有人可以为我指明正确的方向。
我正在尝试构建一些报告,查询销售表,我在使用 SUM 和 Group by 时遇到问题,但仍想使用原始行。
例如:
Select StockCode, SUM('Sell' * Qty) as Total from 'Sales'
Group by StockCode
我想要的是将结果显示为 SUM,但我还想保留数量。
所以输出会是这样的:
库存代码数量总计。
我显然可以运行一些 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
最佳答案
如果我理解正确,你需要这样做:
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 |
关于MySQL SUM 同时保持求和数据独立,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53152902/