SUM, AVG trong MySql

Nhờ anh chị giải đáp:
Em muốn tính SUM từ bảng episode, AVG từ bảng movie_detailGROUP BY bảng movie

  • Câu query bên dưới chạy nhưng cho ra kết quả sai:
SELECT movie.movie_id, movie.movie_name, SUM(episode.week_view) as week_views,
AVG(rate) as rate
FROM movie JOIN episode on movie.movie_id = episode.movie_id
LEFT JOIN movie_detail on movie.movie_id = movie_detail.movie_id
WHERE movie.status=1 and episode.status=1
GROUP BY movie.movie_id, movie.movie_name
ORDER BY week_views
  • Câu bên dưới thì kết quả đúng:
SELECT movie.movie_id, movie.movie_name, SUM(episode.week_view) as week_views,
tbl_custom.rating from movie
JOIN episode on movie.movie_id = episode.movie_id
LEFT JOIN (select movie_id, AVG(rate) as rating from movie_detail GROUP BY movie_id) as tbl_custom 
ON movie.movie_id = tbl_custom.movie_id
WHERE movie.status=1 and episode.status=1
GROUP BY movie.movie_id, movie.movie_name
ORDER BY week_views
  • Cho em hỏi câu query đầu tiên sai thế nào và có thể sửa lại đúng mà vẫn theo cách đó không ạ?
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?