免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2111 | 回复: 3
打印 上一主题 下一主题

求表中字段A的值最小的n条记录(唉,被鄙视了) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-30 20:18 |只看该作者 |倒序浏览
今天被人问一题:
怎么取表table1 中字段 colum1 的值最小的5条记录。

因为我oracle用的比较多,就说用order by 在用rownum,如下:
select * from
(
  select * from table1 order by colum1
)
where rownum<=5。

结果被告知,rownum是oracle才有的,有没有generic(通用的,其他数据库也可以的)写法,想了半天,不知道怎么写。

晚上查了一下,好象oracle有个over的函数,不过估计其他数据库没有。
觉得这个问题可以转化为如何取第 n 大的colum1,但是怎么取第n大的colum1也不知道怎么写。请高手指点。

论坛徽章:
0
2 [报告]
发表于 2007-03-31 17:16 |只看该作者
某也期待中﹐幫頂。

论坛徽章:
0
3 [报告]
发表于 2007-04-03 00:42 |只看该作者
select * from table1 a
where exists (select 1 from table1 b where a.col1>b.col1 group by 1 having count(1)<5)

[ 本帖最后由 shrr 于 2007-4-3 11:50 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-04-03 12:39 |只看该作者
lz, 偶驗証過了﹐好象不行啊.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP