Oracle 查询前10%的数据

SQL Server里有查询10%的语句。。
Oracle里的要怎么实现?求高手解答

    oracle本身不提供top关键字,如果想要查询前几条,可以使用rownum伪列实现。

    å®žçŽ°æ­¥éª¤ï¼š

    1、使用count聚合函数统计共有多少条数据

        

select  count(*) from Table1;

    2、根据count聚合查询总条数乘以百分比,来确定要查询的条数

select  count(*)*0.1 from Table1;

   3、查询该表数据,取出伪列小于共有数据的百分比的数据

select * from Table1 where rownum < (select count(*)*0.1 from Table1)

ROWNUM伪列的特点:

1、 ROWNUM是按照记录插入时的顺序排序的
2、 ROWNUM并不实际存在,是对筛选后的结果集的一个排序,如果不存在结果集就不会有ROWNUM
3、 ROWNUM不能用基表名作为前缀
4、在使用ROWNUM进行查询时,请注意:

    1)若使用大于号(>),则只能使用(>0),其他均不可以

    2)若使用小于号(<),同一般情况

    3)若使用等于号(=),则只能使用等于1(=1)

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-05
oracle里有个伪列rownum,利用这个列可以做个嵌套查询
select *from(select rownum as num,col1这里加上其他列 from yourtable) t where num<(select count(1)from t)*0.1
第2个回答  2011-07-05
查询前10%?
这个简单啊、你先计算总共有多少条记录、再乘以0.1得到10%应该是多少条记录、再选择在、那么多条记录就好了。。
第3个回答  2011-07-05
select * from table where rownum<=(select count(1) from table)*0.1本回答被提问者采纳

Oracle 查询前10%的数据
oracle本身不提供top关键字,如果想要查询前几条,可以使用rownum伪列实现。实现步骤:1、使用count聚合函数统计共有多少条数据 select count(*) from Table1; 2、根据count聚合查询总条数乘以百分比,来确定要查询的条数 select count(*)*0.1 from Table1; 3、查询该表数据,取出伪列小于共...

oracle查询前10条数据怎么查
方法一:使用ROWNUM伪列 ROWNUM是Oracle数据库中的一个伪列,它表示每一行在结果集中的序号,从1开始递增。我们可以利用ROWNUM来限制查询结果的行数,例如:123SELECT *FROM your_tableWHERE ROWNUM <= 10;上述语句将返回your_table表中的前 10 行数据。方法二、使用子查询和 ORDER BY 子句 通过使用子...

Orcale查询前10行数据SQL语句怎么写? 请高手帮忙
rownum伪列select * from (select rownum tid,t.* from table t where rownum<=10) where tid<=10 and tid>=5 notin相反select * from table where id not in(select id from table where rownum<=5) and rownum<=5 前题是id排序的select * from table where id>(select max(id) from ...

oracle里面怎么查询出前10条数据
SELECT * FROM EMP WHERE ROWNUM <= 10 ORDER BY sal DESC;在oracle中是使用ROWNUM 来表示前10条的信息。

oracle取前10条数据怎么写
在Oracle数据库中,可以使用`SELECT`语句结合`ROWNUM`或`FETCH FIRST`语句来查询前10条数据。解释:使用ROWNUM关键字 在Oracle中,可以通过`ROWNUM`关键字来限制查询结果返回的行数。这种方法通常适用于早期的Oracle版本。具体的查询语句如下:sql SELECT * FROM 表名 WHERE ROWNUM <= 10;这里的`表名`...

查询oracle数据时的前10条的SQL语句
通过rownum小于等于10获取前10条记录 示例:SELECT * FROM 表名 WHERE ROWNUM<=10补充:ROWNUM是一个序列,是oracle数据库从数据文件或缓冲区中读取数据的顺序。它取得第一条记录则rownum值为1,第二条为2,依次类推。小于等于10,则就会只取前10条记录。

如何查询数据库中排名前几位的数据
方法一: select top 10 * from 表名 order by 列名 方法二: select top 10 percent * from 表名 order by 列名 方法一:是按照指定列名排序后,取前十个方法二:按照指定列名排序后,取总数的10% 希望能够满足您的需求,谢谢采纳 ...

在Oracle怎样查询表中的top10条记录
下面是关于rownum的介绍===Rownum和row_number() over()的使用ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.比如SELECT *FROM torderdetail aWHERE ROWNUM <= 10这条语句就是输出前10条纪录,在这里用途上类似于sql sever的top,不过row...

oracle如何查询前十个数据
oracle中前N条数据可用row_number来实现。如表中数据:现在要求按照ID倒序,取出前十位:oracle中执行方法:select t.id,t.name from(select test.*,row_number() over (order by id desc) rn from test) twhere rn<=10;结果:

Oracle查询前几条数据的方法
在Oracle数据库中,由于缺乏直接的`select top`语句支持,通常采用`order by`和`rownum`的结合来实现类似功能。基本的查询策略是首先对表中的数据按指定列进行排序,然后通过`rownum`变量限制返回的记录数。以下是一个直观的解释:在Oracle中,当需要查询前几条数据时,通常采用以下步骤:首先,从指定表中...

相似回答