我有這樣一個查詢:Mysql的SUM輸出是錯誤的
SELECT DISTINCT
g.thumb, h.hotel_name, h.id, COUNT(c.id) as total_comments, SUM(c.rating) AS total_ratings
FROM
at_hotels h
LEFT JOIN
at_gallery g
ON
h.id = g.h_id
LEFT OUTER JOIN
at_comments c
ON
h.id = c.h_id AND c.status = '1'
GROUP BY h.id
ORDER BY h.id DESC LIMIT 5
查詢工作,除了SUM(等級)。總和命令給予超過預期。我也試過這樣的SUM命令:
--query
(SELECT SUM(rating) FROM at_comments WHERE at_comments.h_id = at_hotels.id) AS total
--more query
並且這不起作用。
總的必須是:13,但這是給36.問題在哪裏?
樣本數據:(評論表)
id h_id rating
----------
1 | 1 |5
----------
2 | 1 |3
----------
3 | 1 |5
我的表:
運行不帶'GROUP BY'的查詢來查看是否由於您的連接而發生意外的記錄重複。 –
還有一件事,我刪除截然不同,但沒有改變。仍是同樣的問題。 –
@ a'r也嘗試過,但沒有發生。 –