【发布时间】:2015-08-07 13:04:42
【问题描述】:
您好,我有一张银行客户的交易表。表的名称是 CUST_TRANSACTION。它有几个字段,如 CUST_ID、TRANSACTION_DATE 等。我想编写一个查询,以便我可以选择 3 个特定客户 ID 的最后一笔交易。比如
TRANSACTION_ID | CUST_ID | TRANSACTION_DATE | TRANSACTION_DESC
100023 | 2 | 15-12-2014 06:00 | Withdraw 1000 dollars
100022 | 5 | 14-12-2014 16:00 | Deposit 1000 dollars
100021 | 5 | 14-12-2014 15:00 | Withdraw 500 dollars
100020 | 4 | 12-12-2014 15:00 | Withdraw 300 dollars
100019 | 4 | 12-12-2014 14:39 | Deposit 300 dollars
100018 | 2 | 12-12-2014 15:00 | Withdraw 60 dollars
我想获取 id 2、4、5 的最后一笔交易
TRANSACTION_ID | CUST_ID | TRANSACTION_DATE | TRANSACTION_DESC
100023 | 2 | 15-12-2014 06:00 | Withdraw 1000 dollars
100022 | 5 | 14-12-2014 16:00 | Deposit 1000 dollars
100020 | 4 | 12-12-2014 15:00 | Withdraw 300 dollars
我应该如何处理它?
编辑:到目前为止我已经尝试过这个
select *
from CUST_TRANSACTION
where CUST_ID IN('2', '5', '4')
and rownum <4
order by transaction_date desc
【问题讨论】:
-
你的尝试在哪里?听起来您希望我们为您完成工作。听起来很像一个家庭作业问题。根据Help Center“请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的总结,以及您在解决问题时遇到的困难的描述。”
-
@mason 感谢您的指出。
标签: sql oracle greatest-n-per-group