如何获取Mysql中每个客户的最后交易详情?

pra*_*n S 2 mysql mysql-workbench

我试图从Mysql数据库获取每个客户的最新交易,其中每个客户可能有不同数量的交易记录.

这里的Mysql表:

在此输入图像描述

这个表我已经提到了有粗体(样式)的行,这些粗体行是最后的交易记录.我想要每个客户的最后一笔交易.

我的回答低于一个.

在此输入图像描述

我需要mysql查询这个选定的记录.

yda*_*coR 5

您需要使用MAX交易日期来查找最近的交易.因为这是一个聚合函数,你也想要GROUP BY你的cus_id.然后,此结果为您提供客户的最新日期,以便您可以根据该组合cus_id和其他tranc_date组合加入其余数据.

查询将如下所示:

SELECT cus_tranc.cus_id,
       cus_tranc.tranc_amt,
       cus_tranc.tranc_type,
       cus_tranc.tranc_date
FROM cus_tranc 
INNER JOIN (
  SELECT cus_id,
         MAX(tranc_date) AS 'tranc_date'
  FROM cus_tranc
  GROUP BY cus_id) max_tranc ON cus_tranc.cus_id = max_tranc.cus_id AND cus_tranc.tranc_date = max_tranc.tranc_date
Run Code Online (Sandbox Code Playgroud)

你可以在这个SQL Fiddle中看到这个结果.