簡體   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