2017-06-08 8 views
0
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を試してみると、私に値の1つが与えられます。私は必要とされていると仮定しているGROUP BY。私はまだこれのすべてに新しいです。ありがとうSELECT SUM()GROUP BYを使用しても、どうすれば個々の値を取得できますか?

+0

2つのクエリを実行するか、1回実行して値を繰り返し合計します。 – doublesharp

+0

こちらから回答を確認することもできます。 https://stackoverflow.com/questions/44254226/get-highest-value-with-query-result-in-mysql/44254319#44254319 –

答えて

1

、私は思う:

JOIN (SELECT id, SUM(values) AS MaxValues, group_concat(values) as values 
     FROM table 
     GROUP BY id) 

注:あなたはSELECT *を使用すべきではありませんGROUP BYである。 GROUP BY句には列のみを含めます。

+0

group_concatはうまくいきます、ありがとうございます。 p.s.実際の列名で*を修正します。ありがとう、ありがとう、ありがとう –

0

valuesSUMの両方をJOINと選択できます。あなたはすべての値を取得したい場合にも、あなたが例えば、GROUP BYは必要ありません:あなたはgroup_concat()を探している

SELECT value, a.sum 
FROM table, (SELECT SUM(value) AS `sum` FROM table) a; 
関連する問題