怎么使用sql server查询显示第10条到第20条信息?

怎么使用sql server查询显示第10条到第20条信息?,第1张

1、sql查询前10条数据

select top 10  * from tablename where 1=1;1

2、oracle查询前10条数据:

select * from tablename where rownum<=101

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

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

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

select * from tablename where rownum<=101

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

SELECT *

FROM (SELECT a.*, ROWNUM rn

FROM tablename a)

WHERE rn >= 10 AND rn <= 201234567

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

您好!

数据库表中的数据是没有顺序的,所以你说的10-20条的数据就必须的有个条件,也就是说

where

某列名

=

XXX,那么咱们

以Id

列来说吧

sql

语句

select

top

10

*

from

表名

where

id

not

in(select

top

10

id

from

表名)

这个语句是子查询就是说先查出前10条数据,然后再去查这个表去掉前10条的剩下的所有数据的前10条。明白了吗?以下是

通用的分页语句,比较简单

SELECT

TOP

页大小

*

FROM

TestTable

WHERE

ID

NOT

IN

(SELECT

TOP

页大小*页数

id

FROM

ORDER

BY

id))

ORDER

BY

ID

SELECT C.D FROM (

SELECT C,D,ROWNUM RN FROM (

SELECT T.* FROM TABLE1 ORDER BY B DESC --降序

) T1

) WHERE RN <= 20

注:用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。

扩展资料:

关于sql语句查询排序

一、sql查询单词

order by 是用在where条件之后,用来对查询结果进行排序

order by 字段名 asc/desc

asc 表示升序(默认为asc,可以省略)

desc表示降序

order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

二、关联查询(左外查询)(jt项目菜单查询)

<select id="findObjects" resultMap="map">

select c.*,p.name parentNam

from sys_menus c left join sys_menus p

on c.parentId=p.id

三、用ORDER BY 子句

SELECT <列名列表>FROM <表名>[WHERE 条件]ORDER BY <字段名1>[ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]--order by <字段名1>(不写ASC|DESC, 则默认升序ASC)


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

原文地址:https://54852.com/sjk/9548147.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存