我有兩個表:MySQL的場均連接表
salon_ranks
:
+-----------+-----------+-----------+-----------+
| salon_id |category_id| user_id | rank |
+-----------+-----------+-----------+-----------+
| 10 | 1 | 999 | 1 |
| 10 | 2 | 999 | 1 |
| 10 | 1 | 888 | 5 |
| 10 | 2 | 888 | 5 |
+-----------+-----------+-----------+-----------+
categories
:
+------+-----------+
| id | name |
+------+-----------+
| 1 | prices |
| 2 | service |
+------+-----------+
我試圖有效地得到的東西看起來是這樣的:
+-----------+-----------+-----------+
| salon_id |category_id| AVG(rank) |
+-----------+-----------+-----------+
| 10 | 1 | 3 |
| 10 | 2 | 3 |
+-----------+-----------+-----------+
是什麼讓最有道理的,我就是這樣一個查詢:
SELECT salon_id, category_id, AVG(rank)
FROM salon_ranks
INNER JOIN categories ON category_id = id
GROUP BY salon_id, category_id
但由於某些原因,我沒有得到的平均水平,但得到這個:
+-----------+-----------+-----------+
| salon_id |category_id| AVG(rank) |
+-----------+-----------+-----------+
| 10 | 1 | 1 |
| 10 | 2 | 5 |
+-----------+-----------+-----------+
任何想法爲什麼會發生?什麼可能是正確的查詢?
對不起,這是我的錯。我從我的原始表中獲取了錯誤的數據。 誤導你:(
它應該給個正確的價值。 http://www.sqlfiddle.com/#!2/ee5c6/1 –
必須有你沒有向我們展示的東西,因爲你的查詢很好。如果你不給我們一個有效的問題,我們不能回答。 – Barmar