sql语句,求优化,有表有数据,谢谢大侠!

物润声无 物润声无 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
表结构:(每个人每次的交易都会存入这张表)
table1:
type: varchar2 number date number varchar2
tranId tranSrlNum tranDate tranAmt pID
1 1 10/10/2011 20 1234567
1 2 10/10/2011 10 1234567
2 1 10/10/2011 10 1234567
2 2 10/10/2011 10 1234567
2 3 10/10/2011 15 1234567 -- 目标记录
1 1 09/09/2011 10 1234567
1 2 09/09/2011 5 1234567
1 1 08/09/2011 6 1234567
.......
1 1 10/10/2011 100 8888888
.......

tranId tranSrlNum tranDate 是该表的联合主键, 求每个人最近发生的一次交易记录。

如:pID = 1234567(外键,唯一表示一个人), 怎么把目标记录选出来啊 ? 用一条sql 语句实现

select *
from table1
where (to_char(tranDate,'dd-mm-yyy')||(trim(tranId))||(trim(tranSrlNum)) = (
select max((to_char(tranDate,'dd-mm-yyy')||(trim(tranId))||(trim(tranSrlNum)) )
from table1
where pID = '1234567'
)

上面的得到了正确结果,但是用到自己的function中,加了这段逻辑,结果跑了很长时间没跑出结果,

求解!
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
物润声无
Oracle 高级技术 3,499 成员 18,710 内容