我有一个存储用户事务数据的表。要查找用户评分,您可以取该用户最后 10 个条目的平均分数。有没有办法用 SQL 来实现它?
我需要能够为给定 ID 的单个用户解决这个问题。并获取按分数排序的所有用户的列表。
目前我正在 MySQL 之外解决它并将它存储在每个用户的另一个 col 中,这样我就可以 ORDER_BY 了。
# returns average for all transactions.
SELECT user_id, AVG(score) FROM transactions WHERE user_id = 1
# returns scores for last 10 transactions.
SELECT user_id, score FROM transactions WHERE user_id = 1 ORDER_BY date DESC LIMIT 10