【发布时间】:2010-01-12 01:57:33
【问题描述】:
我有一个存储用户事务数据的表。要查找用户评分,您可以取该用户最后 10 个条目的平均分数。有没有办法用 SQL 来实现?
我需要能够为给定 ID 的单个用户解决此问题。并获取按分数排序的所有用户的列表。
目前我正在 MySQL 之外解决它并将它存储在另一个列中,以便我可以为每个用户订购。
# 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
【问题讨论】:
-
你用的是什么版本的 MySQL?
-
Ver 14.12 Distrib 5.0.45
标签: sql mysql aggregate average