[英]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.