values = 2,3,4
执行JOIN (SELECT *, SUM(values) AS MaxValues FROM table GROUP BY id)
时,$a = $data['MaxValues']
将等于9。但是,我怎样才能提取单个值(2,3,4)?在$b = $data['values']
上尝试foreach只会给我一个值。因为所需的GROUP BY
,我假设。我还是新手。谢谢
答案 0 :(得分:0)
您可以使用values
同时选择SUM
和JOIN
。此外,如果您想获取所有值,则不需要GROUP BY
,例如:
SELECT value, a.sum
FROM table, (SELECT SUM(value) AS `sum` FROM table ) a;
答案 1 :(得分:0)
您正在寻找group_concat()
,我认为:
JOIN (SELECT id, SUM(values) AS MaxValues, group_concat(values) as values
FROM table
GROUP BY id)
注意:您不应将SELECT *
与GROUP BY
一起使用。仅包含GROUP BY
子句中的列。