[英]MySQL Get val with max(date) along with sum
这是我的问题。 我有一个包含以下列的表格:
player_id | win_amount | loss_amount | datetime
每条记录都包含玩家的 id、输赢金额(另一个字段变为 0)和日期时间。 我想要一个 MySQL 查询来获得以下信息:
player_id
sum(win_amount) - sum(loss_amount)
该玩家的sum(win_amount) - sum(loss_amount)
loss_amount
最后日期loss_amount
loss_amount
尝试以下查询,利用GROUP BY
、一些聚合函数和相关子查询。 将table
替换为您的实际表名:
SELECT
t1.player_id,
SUM(t1.win_amount) - SUM(t1.loss_amount) AS net_win_amount,
MAX(IF(t1.loss_amount > 0,
t1.datetime,
NULL)) AS last_loss_datetime,
(SELECT
t2.loss_amount
FROM
`table` AS t2
WHERE
t2.player_id = t1.player_id
AND t2.loss_amount > 0
ORDER BY t2.datetime DESC
LIMIT 0 , 1) AS last_loss_amount
FROM
`table` AS t1
GROUP BY t1.player_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.