如何查询数据库表中 倒数第5-10行记录

如何查询数据库表中 倒数第5-10行记录,第1张

这个是oracle的写法,

如果查询的表中没有重复记录:

select a from 表 a where rownum<=(select max(rownum) from 表)-4

minus

select a from 表 a where rownum<=(select max(rownum) from 表)-10

如果查询的表中有重复记录:

select a表字段 from

(select a,rownum from 表 a where rownum<=(select max(rownum) from 表)-4

minus

select a,rownum from 表 a where rownum<=(select max(rownum) from 表)-10) a

SELECT FROM (

select t ,row_number() OVER(ORDER BY NAME) row_ from TEST t

) a

WHERE arow_=2

order by 可以按照任何一个字段进行排序,rowid可以表示数据入库的先后顺序进行查询

哎……这其实和你上次问的差不多……

SELECT id, name FROM mytable

改成

SELECT id, name FROM mytable where 1 order by COLUMN asc limit N1,N2

COLUMN是你要排序的栏,比如id

asc 是ascend 升序的意思,如果你要降序排列就用DESC 是descend 降序意思

limit N1,N2的意思是取第N1个开始的N2个数据

建议你去自学下mysql的基本语法知识

不然这么写会很累的

declare @i int,@j int,@str varchar(20)

set @str='abc-def-h'

set @i=1

set @j=len(@str)

declare @num int

while @i<@j

begin

set @num=charindex('-',@str,@i)

set @i=@i+1

set @i=@num+1

select @num

end

做是可以做出来的,只要结果的话好说:

Oracle数据库下:

select from(select rownum rownumNO,笔试成绩,机试成绩,其他信息 from stuMarks) where rownumNO=(select count() from stuMarks)-2

这个的话就是查出来倒数第三的成绩了,注意最后一个是-2。如果你要优化的话,或者有其他需求的话给我留言,OK?

mysql经常会用来查询特定字段,偶尔会需要展示特定字段中值的某部分,然后还有模糊查询的时候,如果需要匹配中间的某部分值,这个时候like就很尴尬,会多出一些不相干的记录

一、获取特定的几位:

1、取url字段后三位字符

select SUBSTRING(url, -3) from link;

#这种只能针对固定长度,比说url共8个字符,可以下面这种写法

select RIGHT(`url`,length(`url`)-5) from link;

2、从左开始第3位取(包括第三位)

select SUBSTRING(url, 3) from link;

3、取左边的3位

select SUBSTRING(url, 1, 3) from link;

#这种只能针对固定长度,比说url共8个字符,可以下面这种写法

select LEFT(`url`,length(`url`)-5) from link;

4、中间截取(从第1位开始取7位,如sDate字段值是 2013-06-07)

select SUBSTRING(sDate, 1,7) from forumdata;

查询结果就是 2013-06

二、查询特定的几位:

1、正常的模糊查询

select from cm_order where ordersn like '%31%';

2、一个字段共有13位,查询倒数四五位为31的

select from cm_order where SUBSTRING(ordersn, 9,2) = 31;

SELECT from cm_order where RIGHT(`ordersn`,length(`ordersn`)-8) like '31%';

这种如果正常的模糊查询会出来很多不相干的数据,但是这种只能针对定长的模糊查询,效率方面比正常的模糊查询好很多。

--可以才用left和right函数结合,,前提是stuid是字符类型,如果不是,请先将学号转化为字符类型

select stuid,stuname,sexcode,classid,specialityid

from g_stuinfo

left join g_sexinfo on g_stuinfosexcode=g_sexinfosexcode

left join g_specialityinfo on g_specialityinfospecialityid=g_stuinfospecial

where specialityname='电子商务' and sexcode='1'

    and left(right(g_stuinfostuid,2),1)='3'

以上就是关于如何查询数据库表中 倒数第5-10行记录全部的内容,包括:如何查询数据库表中 倒数第5-10行记录、oracle数据库某一张表中,在未知数据行数的时候,并且没有序列的情况下如何查询倒数第二条的数据信息。。、如何读取Mysql 倒数第几条的记录麻烦大家解答一下,谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10153980.html

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

发表评论

登录后才能评论

评论列表(0条)

保存