❶ 删除订单明细表中出售单价30到40之间的多行记录如果使用sql语句创建查询应输
delete from tablename where '出售单价' in (30,40);试一下
❷ 如何输出数据库中第30行到40行之间的数据,假设数据库Student的主码是ID。
需要用一个
row_number()
over
(order
by
getdate())函数
select
*
,
row_number()
over
(order
by
getdate())
as
px
from
Student
根据结果再嵌套查询
px>30
and
px<40
select
*
from
(
select
*
,
row_number()
over
(order
by
getdate())
as
px
from
Student
)
temp
where
px>30
and
px<40
如果
你是SQL2000
数据库,需要借助一张有自增ID的临时表来处理,原理一样的,
❸ sql 如何获得表中第30-40条的记录
SQL Server 2005中可以使用row_number()函数,但结果是经过排序后的第30-40条记录.
可以使用以下语句得出默认排在第30-40条的记录.
--SQL Server 2005
select top 40 * from table
except
select top 30 * from table
--SQL Server 2000
select * from
(select top 40 * from table) a
where id not in
(select top 30 id from table)
补充:
返回name为c,d,e的第3-5条,SQL SERVER 2000和2005均适用.
select * from
(select top 5 * from @t) a
where id not in
(select top 2 id from @t)
❹ sql中怎么查30-40行和50-60行数据, 一条sql语句写出来。。
这个分3种,一种是ms sql 用的top+子查询,05以后也有函数可以实现这类的分页一种是mysql 直接用的limit和start比较简单还一种是oracle, 用的是rownum这个函数来判断的
❺ 我想从一张SQL Server 表中取出第31行到40行的数据,怎么写t-sql
要实现这个需求,我们有两种方法:
rownumber:
with cte as(select *,row_number() over(order by id)rn from table)
select * from cte where rn between 31 and 40
offset fetch(from 2012 verison):
slelect * from table
order by id OFFSET 30 ROWS FETCH NEXT 10 ROWS ONLY;
❻ sql 查询第30条数据到40条数据怎么查啊,id有可能不是连续的
假设数据所在的表为A,查询语句辅助的表T,表W。
SQL语句查询逻辑过程为首先选出前40条记录,然后按照递减顺序查询后11条记录,也就是从第40条,第39条,...,第30条记录。为了还原为原来数据的递增顺序,可以再嵌套个SELECT语句。
SELECT * FROM (SELECT TOP 11 * FROM (SELECT TOP 40 * FROM A ORDER BY id ASC) T ORDER BY T.id DESC) W ORDER BY W.id ASC
❼ 要查数据表中第30到40条记录,有字段ID,但是ID并不连续,如何写SQL语句
例:select * from employees e where rownum betwon 30 and 40;
解释:rownum -- 数据库会为出现在查询结果里的记录进行编号,从1开始。
-- 请打印表里的前5行记录
select * from employees where rownum<=5;
-- 请打印表里的第6到第10行记录
select * from employees where rownum between 6 and 10;
注意:对于rownum只能应用 < ,<=, >,>=, =, between XXX and XXX
❽ sql sever 查询30到50条数据
id也许不是连续的,那就说明这个表是用id来排序,知道这个前提就很容易了,使用两次top再加上排序就可以实现。
selecttop20*from
(selecttop50*fromtable)tb1
orderbyiddesc
这个查询就能得到30到50条的记录,不过现在出来是50-30的记录,需要顺序再按照id排个序就出来了
❾ 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的
这就是个分页取值的原型...
31条到40条就是10条数据
select top 10 * from 表名 where id not in (select id from 表名 )
这样就可以过滤掉前面30条了,其中语句中的'id'值是用来过滤的,无论的你的ID是否连续,只要出现在子查询中的ID,主查询都会把他过滤掉,这样就可以实现31-40的查询了
望采纳
❿ sql数据库 要查出一个表中第30行到40行的数据(30到40没有自动增长列),尽可能多的写出你所知道的方法。
一 :你可以使用ROW_NUMBER 让其生成一个编号 然后按照这个编号查询其中的第三十行到四十行的数据就ok啦
二 : 根据你里面有的编号 如:id (顺序递增)
三: 使用分页的方法 一页十条数据 查询第三页的数据
这就是我知道的方法 望对你有用!