1
我試圖弄清楚如何獲取每個銷售人員在過去的100條評級中的平均評級(如果他們目前就業),並且他們的平均評級少於3(滿分5)。MySQL:查找最後x個記錄的每個條目的平均值
我有(未在查詢所需留出的信息)下表:
users
id name employed
-----------------------
1 John 1
2 Sue 1
3 Bob 0
...
sales
id users_id
------------------
100 3
101 2
102 3
103 1
...
ratings
sales_id rating
-----------------
100 4
101 5
102 5
103 2
...
當前查詢我有搜索一切,曾經返回平均值爲所有的訂單,但我希望它只抓取最近的100個評級(如果銷售人員沒有銷售那麼多項目,則評分更低),但不包括任何不再被僱用或對其最近100個訂單的評級大於3的人員。這是當前查詢:
SELECT u.name, avg(r.rating) as avg_rating, count(r.rating)
FROM users AS u
JOIN sales AS s ON s.users_id = u.id
JOIN ratings AS r ON r.sales_id = s.id
WHERE u.employed = 1
GROUP BY u.id
HAVING avg_rating <= 3;
任何幫助將是偉大的!謝謝! :D
這正是我需要的,謝謝! – 2014-12-18 07:06:02