ユーザーのトランザクションデータを格納するテーブルがあります。ユーザーの評価を見つけるには、そのユーザーの最後の10エントリの平均スコアを取得します。SQLでそれを取得する方法はありますか?
IDを指定して、1人のユーザーで問題を解決できるようにする必要があります。そして、スコア順に並べられたすべてのユーザーのリストを取得します。
現在、MySQLの外部で作業しており、ユーザーごとに別の列に保存して、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