我有一个简单的请求,我无法在MySQL中找到:
我的查询得到了这个:
TABLEA
+----+----------+
| id | quantity |
+----+----------+
| 1 | 2 |
| 2 | 5 |
| 3 | 7 |
| 4 | 4 |
+----+----------+
Select id, Quantity From tableA
我想要这个:
TABLE A
+----+------------+--------+
| id | quantity | total |
+----+------------+--------+
| 1 | 2 | 18 |
| 2 | 5 | 18 |
| 3 | 7 | 18 |
| 4 | 4 | 18 |
+----+------------+--------+
Select id, Quantity, SUM(quantity) total From tableA
但我不想这样做
Select id, Quantity, FROM tableA
JOIN select SUM(quantity) total FROM tableA
因为tableA在我的代码中已经是一个子查询,需要一些时间。
任何想法?
编辑:我使用JOIN作为我的示例,但我想避免使用" FROM tableA"再次
编辑2:
TABLE A
+----+------------+--------+
| id | quantity | total |
+----+------------+--------+
| 1 | 2 | 7 |
| 1 | 5 | 7 |
| 2 | 7 | 11 |
| 2 | 4 | 11 |
+----+------------+--------+
答案 0 :(得分:0)
你必须做一个子选择
SELECT
a.id,
a.Quantity,
(SELECT SUM(b.quantity) FROM tableA b)
FROM
tableA a
编辑:否则你可以使用上面的subselect在mysql中自己创建一个视图,然后加入该表。
答案 1 :(得分:0)
使用两个select语句,将总和存储到变量中:
从tableA中选择sum(数量)到@sum_quantity;从tableA中选择id,quantity,@ sum_quantity total
这里,聚合函数执行一次。