【发布时间】:2015-09-09 10:18:43
【问题描述】:
我的数据库中有一个名为“游戏”的表,它记录了每场比赛的信息(有多少玩家、比赛时间、比赛时间等)。
现在我查询这些信息只是为了找出每天玩了多少游戏(我把我的查询放在下面)。
我正在尝试进行修改,以便根据参与游戏的玩家数量 (numPlayersEnd) “加权”每个游戏。
即如果一个游戏有 2 个玩家,它应该算作 1.0 个游戏。如果一场比赛有 3 名玩家,则应计为 1.5 场比赛。如果一个游戏有 4 个玩家,它应该算作 2.0 游戏。
有人知道如何在 SQL 查询中执行此操作吗?还是在得到查询结果后我必须用java来做这个?
SELECT
DATE_FORMAT(datetimeStart, '%H') AS hour,
DATE_FORMAT(datetimeStart, '%d') AS day,
DATE_FORMAT(datetimeStart, '%m') AS month,
DATE_FORMAT(datetimeStart, '%Y') AS year,
COUNT(*) AS count
FROM
games
WHERE
numPlayersEnd IS NOT NULL AND datetimeStart >= (NOW() - INTERVAL 1 YEAR)
GROUP BY
DATE_FORMAT(datetimeStart, '%Y-%m-%d')
【问题讨论】:
标签: mysql