这样的SQL该怎么写?(100分)

sjg008 2005-10-29 02:04:02
表:
ID

TYPE1
TYPE2
TYPE3
TYPE4
.....
TYPE187
ORTHER1
ORTHER2
ORTHER3
ORTHER4
.....

现在我要取得前缀为“TYPE”的最大记录 即“TYPE187” ,如何来取?
我做的有问题, 只能取到“TYPE99” , 下面是我的SQL
SELECT a.id
FROM table a
WHERE substr(a.id, 1, 4) = 'type'
and ROWNUM = 1 order by a.id desc

有什么办法来取得ID = TYPE187 这条记录呢?
...全文
249 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bixuehui 2005-11-02
  • 打赏
  • 举报
回复
select type||max(to_number(substr(id,5)))
from a
where substr(a.id, 1, 4) = 'type' ;
littleboys 2005-11-02
  • 打赏
  • 举报
回复
select max(substr(a.id, 1, 4))||max(to_number(substr(id,5))) as ID from a WHERE substr(a.id, 1, 4)='TYPE';
yearlist 2005-11-01
  • 打赏
  • 举报
回复
duanzilin(寻) ,哦,知道了,谢谢啊。。。。
沝林 2005-10-31
  • 打赏
  • 举报
回复
楼上的,问你个问题,字符串比较'type9' 和 'type11'哪个大,不要告诉我是'type11'……
yearlist 2005-10-31
  • 打赏
  • 举报
回复
真奇怪,直接用max会有问题?
select max(id) from a where substr(a.id,1,4) = 'type';

我建表试了一下,没有问题。
lee_billiy 2005-10-31
  • 打赏
  • 举报
回复
楼上的是sql server的写法吧,试试SELECT a.id FROM table a WHERE substr(a.id, 1, 4) = 'type' and ROWNUM = 1 order by to_number(substr(a.id, 5)) desc
yown 2005-10-31
  • 打赏
  • 举报
回复
这是字符与数字的比较,应该把字符转换成数字再比较

select *
from a
where id in (select top 1 id from a order by to_number(substr(id,5)) desc ) ;
hlp912 2005-10-29
  • 打赏
  • 举报
回复
select type||max(to_number(substr(id,5)))
from a
where substr(a.id, 1, 4) = 'type' ;
hlp912 2005-10-29
  • 打赏
  • 举报
回复
楼上的可行
沝林 2005-10-29
  • 打赏
  • 举报
回复
SELECT a.id
FROM table a
WHERE substr(a.id, 1, 4) = 'type'
and ROWNUM = 1 order by a.id desc
--------------------------
有2个问题:
首先order by a.id desc是字符串比较,type99 就要比type111大,可以改成order by to_number(substr(id,5)) desc
其次rownum = 1是在排序之前的rownum,最好在子查询外取得
select id from (
SELECT a.id FROM table a WHERE substr(a.id, 1, 4) = 'type' order by to_number(substr(id,5)) desc)
where rownum =1
lmby 2005-10-29
  • 打赏
  • 举报
回复

order by to_num( sunstr( id, 5, (length(id) - 4) ) )

忘记函数了,查一下.

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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