我有一組數據,它定義了調查表中不同位置事件的評分。MySQL WITH ROLLUP返回錯誤(或意外)結果
我試圖顯示每個位置的平均評分與最後一行中所有位置的平均值。
此刻,我的查詢看起來是這樣的:
SELECT
IFNULL(l.title, 'Total') AS location,
ROUND(AVG(NULLIF(s.rating, 0)), 2) AS rating
FROM surveys s
INNER JOIN events e
ON e.id = s.event_id
INNER JOIN locations l
ON l.id = e.location_id
GROUP BY l.title WITH ROLLUP
這給了我下面的值的每個位置:
8.22, 8.67, 8.67, 8.56, 7.86, 8.50. 8.78, 7.33
然而,最終的總返回爲8.37,但它應該實際上是8.32。
我做錯了什麼?
你可以簡化它來刪除連接嗎? –