SQL server top 关键字使用

本文详细介绍了在MySQL和SQL Server中如何使用LIMIT和TOP关键字进行数据截取和分页,包括基本语法和复杂查询,如从特定位置获取记录和实现分页功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询有时并非需要取出全部的数据,当我们只用到其中一部分时,就需要一些关键字配合。

MYSQL的关键字是limit,SQL server的关键字是top。

 SQL server top 关键字的使用:

#取出数据的前三条
select top 3  * from table

#取出数据的前百分之20
select top 20 percent * from table

#从查询的200条数据中取出30-100条数据
with t as ( select top 200 row_number() over(order by uuid) r, * from table)
select * from t where r between 30 and 100

#从查询的200条数据中取出100条以后的数据
with t as ( select top 200 row_number() over(order by uuid) r, * from table)
select * from t where r >100

MYSQL limit 关键字的使用

#含义是跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据
select * from table limit 2,1;                 

#含义是从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条
select * from table limit 2 offset 1;      

MYSQL limit 关键字的使用

/*Mysql limit offset示例
例1,假设数据库表student存在13条数据。
*/

#代码示例:
// 语句1和2均返回表student的第10、11、12、13行  
语句1:select * from student limit 9,4
//语句2中的4表示返回4行,9表示从表的第十行开始
语句2:slect * from student limit 4 offset 9


例2,通过limit和offset 或只通过limit可以实现分页功能。
假设 numberperpage 表示每页要显示的条数,pagenumber表示页码,那么 返回第pagenumber页,每页条数为numberperpage的sql语句:
代码示例:
语句3:select * from studnet limit (pagenumber-1)*numberperpage,numberperpage
语句4:select * from student limit numberperpage offset (pagenumber-1)*numberperpage

其他数据库相关内容

--假如我查到了1000条记录,我想取其中的第200~300条记录

--oracle:
with t as ( select rownum r, * from 表 where rownum<=300 )
select * from t where r>=200

--db2:
with t as ( select row_number() over(order by 字段) r, * from 表 fetch frist 300 rows only)
select * from t where r>=200

--其中 sqlserver\oracle\db2也可直接
with t as (select row_number() over(order by 字段) r, * from 表)
select * from t where r between 200 and 300

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值