Mysql 如何在SQL中获取用户的当前事务详细信息?
资产转移表Mysql 如何在SQL中获取用户的当前事务详细信息?,mysql,sql,oracle,Mysql,Sql,Oracle,资产转移表 TRANSFER_ID TRANSFER_DATE ASSET_ID STOCK_TAG TRANSFER_FROM_ID TRANSFER_TO_ID 111 dd/mm/yyyy 2122 222-222 Roy Jina 参考上表,如果用户的帐户中有多个资产,则必须显示两个交易的详细信息。其次,仅显示当前交易,即前一交易,即同一用户曾持有资产,但已转移给其他用户,过去的交
TRANSFER_ID TRANSFER_DATE ASSET_ID STOCK_TAG TRANSFER_FROM_ID TRANSFER_TO_ID
111 dd/mm/yyyy 2122 222-222 Roy Jina
参考上表,如果用户的帐户中有多个资产,则必须显示两个交易的详细信息。其次,仅显示当前交易,即前一交易,即同一用户曾持有资产,但已转移给其他用户,过去的交易细节应该省略
如果有人能帮上忙,我会非常感激的
提前感谢。您需要创建单独的查询,以获取每个资产的最新转移日期。试试这样的
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT AssetID, MAX(TRANSFER_DATE) maxDATE
FROM tableName
GROUP BY AssetID
) b ON a.AssetID = b.AssetID AND
a.Transfer_Date = b.maxDATE
后续问题:您希望成为独一无二的记录的基础是什么?资产ID或转移自ID和转移至ID?感谢您的回复。我想要从Id转移到资产Id的记录。它回答了你的问题吗?您还没有回答我的后续问题:我的要求实际上是提供一个选项,通过用户名和资产类别进行搜索,用户可以搜索每个用户拥有的资产,以便只显示最新的信息。通过用户方式栏“从\u ID转移\u”?我编辑了一点,并按照我的要求获得了结果。感谢您的所有帮助帮助从VIK\u AM\u ASSET\u TRANSFER内部联接中选择A.*选择STOCK\u TAG,MAXTRANSFER\u DATE maxDATE根据A.STOCK\u TAG=B.STOCK\u TAG和A.TRANSFER\u DATE=B.maxDATE上的STOCK\u TAG B从VIK\u AM\u ASSET\u TRANSFER组中选择maxDATE;
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT AssetID, MAX(TRANSFER_DATE) maxDATE
FROM tableName
GROUP BY AssetID
) b ON a.AssetID = b.AssetID AND
a.Transfer_Date = b.maxDATE