【发布时间】:2012-12-19 23:17:10
【问题描述】:
我有一个 MySQL 表,其中有一个数字列表,这些数字来自一个游戏,用户必须单击一个按钮才能接近 100。
我以为我会使用AVG(),但这显然行不通,因为当您有 0 和 200 时,看起来好像您获得了完美的 100。
我需要的是每一轮(有 10 个)计算这个数字离 100 有多远,然后数一下。
Example:
User A: 98 + 102 + 102 = 6 (something) Loser!
User B: 95 + 100 + 100 = 5 (something) Winner!
我有什么,但明显有缺陷:
SELECT user_id, AVG(score) AS Average, (100-AVG(score)) AS Difference,
DATE(playtime) AS Playdate
FROM playtable
GROUP BY user_id, DATE(playtime)
ORDER BY Playdate DESC, user_id
【问题讨论】:
-
我认为您应该有一个子查询来查找差异,然后对其进行平均。
-
你可能想要
SUM(ABS(100-score)) AS TotalDifference -
感谢 Shmiddty,成功了!
标签: mysql