
Zacznę od przedstawienia zapytania:
SELECT job_status_team AS team, (SUM( job_status_points ) / COUNT( job_id ) + team_rating_bonus) AS rating FROM jobs INNER JOIN teams ON (job_status_team = team_id) GROUP BY team ORDER BY rating DESC
Powyższe zapytanie pobiera mi wszystkie zadania przypisane do drużyn i liczy średnią drużyny poprzez obliczenie średniej punktów otrzymanej za każde zadanie + bonus minusowy bądź dodatni w polu team_rating_bonus. Dane są zwracane w następujący sposób: team -> rating.
Problem polega na tym, że średnia jest liczona ze wszystkich prac, jednakże chciałbym liczyć ją po ostatnich wykonanych pracach wg pola job_date DESC. Nie mam pojęcia jak to wyorderować, ani jak wylimitować, bo wszystko wpływa na wyświetlanie rezultatu drużyna => rating, a nie na same obliczenia.
Może jakieś podzaptanie?
Dziękuję za pomoc

--- EDIT ---
Zrobiłem w PHP, limit jest robiony w linii 26, ale myślę, że da się to zrobić na poziomie MySQL'a
http://phpfi.com/252831