繁体   English   中英

MySQL 使用 max(date) 和 sum 获取 val

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM