[英]How to group by a column and return SUM of other columns?
我正在按信息ID和锚点选择值:
SELECT
infoid,
anchor,
value
FROM
infodata
WHERE
(infoid = 1)
OR (infoid = 2)
OR (infoid = 3)
ORDER BY
anchor ASC
此查询返回infoid,锚点和编号的列表:
infoid anchor value
------ ----- -----
1 10 500
2 10 600
3 10 700
1 20 800
2 20 900
3 20 1000
如何通过ANCHOR分组并返回3个信息的SUM()值? 返回如下内容:
anchor value
----- -----
10 500+600+700
20 800+900+1000
您需要使用GROUP BY子句:
SELECT
anchor,
SUM(value)
FROM
infodata
WHERE
infoid IN (1,2,3)
GROUP BY
anchor
ORDER BY
anchor ASC
如果您希望获得与您完全相同的结果,请使用此
SELECT
anchor,
group_CONCAT(value separator '+') value
FROM infodata
WHERE infoid in (1,2,3)
GROUP BY anchor
ORDER BY anchor ASC;
结果:
anchor value
----- -----
10 500+600+700
20 800+900+1000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.