1

そのため、リーダーボードがあり、次のクエリを使用して、毎日、各ユーザーのスコアを効果的にフェッチします。

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
4

1 に答える 1