У меня есть две таблицы: "серверы" и "статистика"
серверы имеют столбец с именем "id ", который автоматически увеличивается. В статистике есть столбец под названием «сервер», который соответствует строке в таблице серверов, столбец под названием «время», который представляет время, когда он был добавлен, и столбец под названием «голоса», по которому я хотел бы получить среднее значение.
Я хотел бы получить все серверы ( SELECT * FROM server
) вместе со средним количеством голосов 24 самых последних строк, соответствующих каждому серверу. Я считаю, что это вопрос «наибольшего n на группу».
Это то, что я пытался сделать, но это дало мне всего 24 строки, а не 24 строки на группу:
SELECT servers.*,
IFNULL(AVG(stats.votes), 0) AS avgvotes
FROM servers
LEFT OUTER JOIN
(SELECT server,
votes
FROM stats
GROUP BY server
ORDER BY time DESC LIMIT 24) AS stats ON servers.id = stats.server
GROUP BY servers.id
Как я уже сказал, я хотел бы получить 24 самых последних строки для каждого сервера, а не 24 самых последних. всего строк.