PHP计算不带WHERE子句的列



我正在尝试在不使用WHERE子句的情况下用PHP SQL计算列。但问题是,我无法对GROUP的一列进行求和。我正试图通过展示下面的图片来详细说明这个问题-

table name = production_tb
ID  |  qtycount  |  sku  | step_count | transaction
---------------------------------------------------
1   |  5         |  123  |  1         | 123456
2   |  5         |  123  |  1         | 123456
3   |  5         |  123  |  1         | 123456
4   |  8         |  123  |  2         | 123457
5   |  7         |  123  |  2         | 123457
6   |  3         |  123  |  3         | 123458

我尝试了这个代码SELECT *, SUM(qtycount) FROM production_tb GROUP BY transaction,得到了3行,我想计算三行合一,并希望输出为33

我也使用DISTINCT函数,但它在重复/重复数字中不起作用。

我如何做到这一点,我将在联接表中使用这个函数,但我不知道做这件事的基本原理,所以我为什么要把它作为一个单表方法来问它。请帮帮我。

你能给出你想要的输出行吗?因为,如果你只想要一行,你可以只做SELECT SUM(qtycount) FROM production_tb。否则,如果你想要每组的总数,你可以做一个子选择,比如:

SELECT 
t1.*, 
SUM(t1.qtycount), 
(SELECT SUM(t2.qtycount) FROM production_tb as t2) AS total
FROM 
production_tb as t1 
GROUP BY 
t1.transaction

但是子选择会降低查询速度,结果集很大!

最新更新