SQL语句如何取前10条,10-30条记录?

如题,谢谢
2024-12-27 01:09:27
推荐回答(5个)
回答1:

常用几种数据库,取前10条记录的sql语句写法。

access:

select top (10) * from table1 where 1=1

db2:

select column from table where 1=1 fetch first 10 rows only

mysql:

select * from table1 where 1=1 limit 10

sql server:

读取前10条:select top (10) * from table1 where 1=1

读取后10条:select top (10) * from table1 order by id desc

oracle:

select * from table1 where rownum<=10

取10-30条的记录:

select top 20 * from 表名 where id not in(select top 10 id from 表名)

扩展资料:

使用SQL从表中取记录。

SQL的主要功能之一是实现数据库查询。如果你熟悉Internet 引擎,那么你已经熟悉查询了。你使用查询来取得满足特定条件的信息。

多数Internet 引擎允许逻辑查询。在逻辑查询中,你可以包括特殊的运算符如AND、OR和NOT,你使用这些运算符来选择特定的记录。

如果需要扩展查询的结果,可以使用逻辑操作符OR。例如,如果执行一个搜索,搜索所有的其描述中包含Active Sever Pages  OR  SQL的站点,收到的列表中将包括所有其描述中同时包含两个表达式或其中任何一个表达式的站点。

如果想从搜索结果中排除特定的站点,可以使用NOT。例如,查询“Active Sever Pages ”AND NOT “SQL”将返回一个列表,列表中的站点包含Active Sever Pages,但不包含SQL。当必须排除特定的记录时,可以使用NOT。

用SQL执行的查询与用Internet搜索引擎执行的搜索非常相似。 当执行一个SQL查询时,通过使用包括逻辑运算符的查询条件,你可以得到一个记录列表。此时查询结果是来自一个或多个表。

回答2:

工具/材料:以Navicat for MySQL为例。

1、首先在桌面上,点击“Navicat for MySQL”图标。

2、然后在该界面中,点击“查询”选项。

3、之后在该界面中,点击“新建查询”选项。

4、接着在该界面中,输入取前10条的sql语句“s elect * from pms_product limit 0,10”。

5、然后在该界面中,点击“运行”按钮。

6、之后在该界面中,显示成功查询到前10条记录。

7、接着在该界面中,输入取10-30条记录的sql语句“s elect * from pms_product limit 10,20”。

8、然后在该界面中,点击“运行”按钮。

9、最后在该界面中,显示成功查询到10-30条记录。

回答3:

sql server:

前10条:
select top 10 * from 表 order by 需要排序的字段

10-30:
select * from
(select row_number() over (order by 需要排序的字段) as id,* from 表
)a
where id between 10 and 30
或者
select top 21 * from 表
where id not in (select top 9 * from 表 order by 需要排序的字段)
order by 需要排序的字段

oracle:
前10条:
select * from
(
select * from 表 order by 需要排序的字段
)
where rownum<=10

10-30:

select * from
(
select * from 表 order by 需要排序的字段
)
where rownum between 10 and 30

mysql:
前10条
select * from
(
select * from 表 order by 需要排序的字段
)a
limit 10
10-30条:
select * from
(
select * from 表 order by 需要排序的字段
)a
limit 10,21

回答4:

取前10条
select top 10 * from 表名
取10-30条的记录
select top 20 * from 表名 where id not in(select top 10 id from 表名)

回答5:

with a as(
select *,row_number() over(order by ColA) rn from tabA)
select * from a where rn>=10 and rn<=30