私はテーブルdata_summaries
を持っています。それはitem_id INT(11)
,user_grouping TEXT
およびvalue DECIMAL(10,2)
のような列を持ちます。私はuser_grouping
によってグループの結果クエリを作ってみると失敗したこと、value
のAVG
によってそれらを注文した場合MySQLの特定のGROUP BY基準でAVG値をORDER BYできない
:
SELECT user_grouping, AVG(value) AS avg_value, SUM(value) AS sum_value
FROM data_summaries
GROUP BY user_grouping
ORDER BY avg_value
+---------------+-----------+-----------+
| user_grouping | avg_value | sum_value |
+---------------+-----------+-----------+
| London | 50.609733 | 18978.65 |
| Paris | 50.791733 | 19046.90 |
| New York | 51.500400 | 2575.02 |
| NULL | 49.775627 | 18665.86 |
+---------------+-----------+-----------+
ORDER BY
句はよう何かをやっているように見えるん注文を変更します:
SELECT user_grouping, AVG(value) AS avg_value, SUM(value) AS sum_value
FROM data_summaries
GROUP BY user_grouping
+---------------+-----------+-----------+
| user_grouping | avg_value | sum_value |
+---------------+-----------+-----------+
| NULL | 49.775627 | 18665.86 |
| New York | 51.500400 | 2575.02 |
| London | 50.609733 | 18978.65 |
| Paris | 50.791733 | 19046.90 |
+---------------+-----------+-----------+
一方、注文は予想通りvalue
の作品:
SELECT user_grouping, AVG(value) AS avg_value, SUM(value) AS sum_value
FROM data_summaries
GROUP BY user_grouping
ORDER BY sum_value
+---------------+-----------+-----------+
| user_grouping | avg_value | sum_value |
+---------------+-----------+-----------+
| New York | 51.500400 | 2575.02 |
| NULL | 49.775627 | 18665.86 |
| London | 50.609733 | 18978.65 |
| Paris | 50.791733 | 19046.90 |
+---------------+-----------+-----------+
Iグループであれば代わりにitem_id
ことで、その後、AVG
作品で注文:私はそれが順取得する最初のクエリを変更する必要がありますどのように
SELECT item_id, AVG(value) AS avg_value, SUM(value) AS sum_value
FROM data_summaries
GROUP BY item_id
+---------+-----------+-----------+
| item_id | avg_value | sum_value |
+---------+-----------+-----------+
| 4 | 49.318225 | 11392.51 |
| 1 | 49.737835 | 11489.44 |
| 2 | 50.420606 | 11647.16 |
| 6 | 51.024242 | 11786.60 |
| 5 | 51.456537 | 11886.46 |
| 3 | 53.213000 | 1064.26 |
+---------+-----------+-----------+
平均?
ああ、ありがとう!私のグーグルグーグルはそのバグ報告を出さなかった。この回避策により、望ましい結果が得られます。 –