そのため、リーダーボードがあり、次のクエリを使用して、毎日、各ユーザーのスコアを効果的にフェッチします。
SELECT DATE(a.time) as time, a.userid, SUM(activity_weight) as weight
FROM activity_entries a INNER JOIN users1 u ON u.id = a.userid
WHERE competitionId = '$competitionId' GROUP BY a.userid, DATE(time)
ORDER BY time ASC
「最も一貫した」パフォーマー、つまり、コンテストの全期間にわたって毎日の平均が最も高いユーザーを見つける効果的な方法は何でしょうか。
本当にありがとう!
編集:これをテストしていますが、問題があります:
SELECT a.userid,
DATE(a.time) as time,
AVG(activity_weight) AS daily_average,
(SELECT a.userid, DATE(a.time) as time,
AVG(AVG(daily_average)) as topAverage
FROM activity_entries a INNER JOIN users1 u ON u.id = a.userid
WHERE competitionId = '$competitionId'
)
FROM activity_entries a INNER JOIN users1 u ON u.id = a.userid
WHERE competitionId = '$competitionId'
GROUP BY userid, time