Oracle中的SQL,得到表中前10条记录怎么写

Oracle中的SQL,得到表中前10条记录怎么写,第1张

楼主您好

通过rownum小于等于10获取前10条记录

示例:

SELECT FROM 表名 WHERE ROWNUM<=10

补充:

ROWNUM是一个序列,是oracle数据库从数据文件或缓冲区中读取数据的顺序。它取得第一条记录则rownum值为1,第二条为2,依次类推。

小于等于10,则就会只取前10条记录。

class

classid

classname

product

classid

proname

num

select

top

10

cclassid

,cclassname,sum(pnum)

from

class

c,product

p

where

pclassid=cclassid

group

by

cclassid

order

by

sum(pnum)

desc

有的不能用top。,不同数据库软件查询好像有细微的差别。

1、sql查询前10条数据:

select top 10   from tablename where 1=1;1

2、oracle查询前10条数据:

select from tablename where rownum<=10;1

oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:

================================

rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出

select from tablename where rownum<=10;1

rownum也可以实现数据分页查询:

SELECT

FROM (SELECT a, ROWNUM rn

FROM tablename a)

WHERE rn >= 10 AND rn <= 201234567

这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。

你可以先根据值得大小进行降序排序,在添加row_number来多出序号一列,然后取前10 的序号值,最后用UNION将两条语句结果合并。请参考下列code:

declare @t table 

(name varchar(1),value int)

 

insert into @t values

('A',15),

('B',10),

('C',20),

('D',5),

('E',7);

 

 

;WITH Cte AS

(

SELECT ,ROW_NUMBER() OVER(ORDER BY VALUE desc) RN FROM @T

)

SELECT name,value FROM CTE WHERE RN<=3

UNION ALL

SELECT 'Others',sum(value) from cte where rn>3

With A

As

(

Select distinct a,1 as cnt From T

union all

Select a,cnt+1 as cnt From A where cnt<10

)

Select Ba,BB,BC From A Left Join

(

Select row_number() over(partition by a order  by b) as cnt, from T

) B on ACnt=BCnt Where BCnt Is Not Null

/

按标志分别产生10条记录和记录号(A)

把T表按标志分组,身高排序产生记录号(B)

把AB做链接

/

缺少查询的参数,可以修改为:

select

top

10

from

tablename

还可以按照某个字段排序的前几个:

select

top

10

from

tablename

order

by

字段名

以上就是关于Oracle中的SQL,得到表中前10条记录怎么写全部的内容,包括:Oracle中的SQL,得到表中前10条记录怎么写、sql语句 分组查询前10条数据、怎么使用sql server查询显示第10条到第20条信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9770595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存