数据库取中间几条记录
2个回答
展开全部
--从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)
SELECT TOP n-m+1 * FROM Table WHERE (id NOT IN (SELECT TOP m-1 id FROM Table ))--从TABLE表中取出第m到n条记录 (Exists版本)
SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists
(Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id )
Order by id以下两种方法都是实现提取数据库第20到第30条中间的十条记录的sql句子: select top 10 * from 表名 where ID字段 not in (select top 20 ID字段 FROM 表名 order by ID字段)行数假定由id决定(id最好是自动增加的序列)删除前10行delete from 表名 where id in(select top 10 id from 表名)删除10-20
delete from 表名 where id in(select top 20 id from 表名)
and id not in(select top 10 id from 表名)二、在MYSQL中,可以使用关键字LIMIT:
SELECT * FROM table [条件语句] LIMIT [offset,] rows
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。
景联文科技
2024-06-11 广告
2024-06-11 广告
一、什么是数据标注?1. 数据标注定义数据标注是对未经处理的语音、图片、文本、视频等数据进行加工处理, 并转换为机器可识别信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对数据进行加工, 然后输送到人工智能算法和模型里完成调...
点击进入详情页
本回答由景联文科技提供
展开全部
在编程中,经常会用到取数据库中某一段的记录,如果要取前几条记录都是很简单,在asp中,直接用top就可以了,在php中,用limit就可以,但如果要取数据库中的第 N 条到第 N条怎么办呢,也就是要取数据库中间的数据,在php,取中间的数据,可以用 limit 很自然的就实现了,主要是asp编程中,需要在sql语句中再重新嵌入一个 sql语句,下面看看 asp 和 php 中不同的 sql 读取中间几条记录。
1 Access 采用top
从表中取出第 M 条到第 N 条的记录(如N=M+10)
select top N-M+1 * from [tableName] where (id not in (select top M-1 id from [tableName]))
select top N-M+1 * from [tableName] as a where not exists (select * from (select top M-1 * from [tableName] order by id) b where b.id=a.id ) order by id
注意:上述语句不能取从第1条到第N条的数据(即M=1时失效),因为select top N …… 中N必须从1开始(参考:数据库读取前几条记录的SQL语句大全):此问题的解决办法:要取第1到N条的记录,需要使用select top N …… 解决。
取数据库第20到第30条中间的十条记录的sql语句
select top 10 * from [tableName] where id not in (select top 20 id from [tableName] order by id)
删除前10行
delete from [tableName] where id in(select top 10 id from [tableName])
删除10-20条
delete from [tableName] where id in(select top 20 id from [tableName]) and id not in(select top 10 id from [tableName])
2 MySql 采用limit
limit 子句可以被用于强制 select 语句返回指定的记录数。limit 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)
检索记录行11-15
select * from [tableName] limit 10,15
1 Access 采用top
从表中取出第 M 条到第 N 条的记录(如N=M+10)
select top N-M+1 * from [tableName] where (id not in (select top M-1 id from [tableName]))
select top N-M+1 * from [tableName] as a where not exists (select * from (select top M-1 * from [tableName] order by id) b where b.id=a.id ) order by id
注意:上述语句不能取从第1条到第N条的数据(即M=1时失效),因为select top N …… 中N必须从1开始(参考:数据库读取前几条记录的SQL语句大全):此问题的解决办法:要取第1到N条的记录,需要使用select top N …… 解决。
取数据库第20到第30条中间的十条记录的sql语句
select top 10 * from [tableName] where id not in (select top 20 id from [tableName] order by id)
删除前10行
delete from [tableName] where id in(select top 10 id from [tableName])
删除10-20条
delete from [tableName] where id in(select top 20 id from [tableName]) and id not in(select top 10 id from [tableName])
2 MySql 采用limit
limit 子句可以被用于强制 select 语句返回指定的记录数。limit 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)
检索记录行11-15
select * from [tableName] limit 10,15
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询