Mysql 取消“总和”和“分组依据”
我知道如何在MySQL中进行Mysql 取消“总和”和“分组依据”,mysql,sum,Mysql,Sum,我知道如何在MySQL中进行SUM,但是如何添加这样的列(取消组?) ID将被视为“类别ID”。 我想要这个: ID price sum -------------------- 1 10 20 <- or nothing if it's not to hard 1 10 20 2 20 40 2 20 40 3 30 61 3 31 61 sql: 您可
SUM
,但是如何添加这样的列(取消组?)
ID将被视为“类别ID”。
我想要这个:
ID price sum
--------------------
1 10 20 <- or nothing if it's not to hard
1 10 20
2 20 40
2 20 40
3 30 61
3 31 61
sql:
您可以使用子查询:
select t.*, tt.sumprice
from table1 t join
(select id, sum(price) as sumprice
from table1 t
group by id
) tt
on t.id = tt.id;
您的意思是获取组的总和,然后显示生成该总和的原始记录?因此您提供了正确和错误的查询结果。表结构、数据和查询在哪里?@GolezTrol为什么需要查询?我放了一个sqlfiddle(在文章发表几分钟后)…我评论的时候,它不在那里。此外,(来自)“如果有可能创建一个可以链接到(例如,on或)的问题的实例,那么就这样做——但也要将代码包含在问题本身中。不是每个人都可以访问外部网站,链接可能会随着时间的推移而中断。”我在一所艺术设计学校教授HTML和CSS,学生的问题并不总是很清楚,但我知道他们想做什么……我没有代码要包含,因为项目现在有很多表和列……所以我制作了一个“清晰”的示例……但我会编辑我的帖子,使其更有用。@benoît
table
用作实际表的占位符,当然:@Gordon有没有办法不用子查询就能得到同样的结果?@mrudult。如果你有一个特别的问题,你应该把它当作一个问题而不是评论来问。包括示例数据、所需结果,以及不需要子查询的原因说明。我只想知道使用子查询是否可以解决完全相同的问题?如果是的话,怎么办?
ID price sum
--------------------
1 10 20
2 20 40
3 30 61
SELECT id, SUM(price)FROM Table1 GROUP BY id
select t.*, tt.sumprice
from table1 t join
(select id, sum(price) as sumprice
from table1 t
group by id
) tt
on t.id = tt.id;