db2排序后再只取一条记录的问题

superhanliu 2009-07-14 04:43:08
select * from (
select *
from PAYHLST
where pay_no='200902270001'
order by hire_bgn_tm desc
) as v
fetch first 1 rows only

这个写法为什么不能得到 hire_bgn_tm 最大的那条记录呀?

实际得到的结果和

select * from (
select *
from PAYHLST
where pay_no='200902270001'
) as v
fetch first 1 rows only

得到的一致,不知道为什么,是不是db2不支持?
环境是ibm as400的服务器。谢谢!!
...全文
1188 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crescenthia 2012-06-25
  • 打赏
  • 举报
回复
看看,这都要回复了再看
superhanliu 2009-07-15
  • 打赏
  • 举报
回复
哦,谢谢楼上的两位兄弟。我试试啊
shijubo 2009-07-14
  • 打赏
  • 举报
回复
子查询排了序,外层查询没排序,结果就和没排序一样。
只用原SQL中的子查询就可以了:
select *
from PAYHLST
where pay_no='200902270001'
order by hire_bgn_tm desc
fetch first 1 row only
quiettown 2009-07-14
  • 打赏
  • 举报
回复
try:
select * from (
select *
from PAYHLST
where pay_no='200902270001'
) as v
order by hire_bgn_tm desc
fetch first 1 rows only

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧