我有一个存储分数的MYSQL表。 每次用户改进时,新条目都会插入到表格中。
表格示例:
| userID | time | gameID | |--------------------------| | u1 | 3 | game1 | | u1 | 2 | game1 | | u2 | 3 | game1 | | u3 | 3 | game1 | | u1 | 3 | game2 | | u2 | 1 | game2 |
我想查询表格,得到一张表格。
| gameID | min_time | avg_time | |--------------------------------| | game1 | 2 | 2.66 | | game2 | 1 | 2.00 |
我需要每个游戏ID的最短时间和平均时间,每个游戏只包含每个游戏的最小时间(如果用户玩游戏1只有最好的(最短的)三次,则应该与其他用户一起使用)。 / p>
这可以通过MYSQL查询吗?
答案 0 :(得分:3)
SELECT
gameID
, MIN(min_time) AS min_time
, AVG(min_time) AS avg_time
FROM
( SELECT
gameID
, MIN(time) AS min_time
FROM
tableX
GROUP BY
gameID
, userID
) AS x
GROUP BY
gameID