SQL语句选取某个区间的记录怎么编写
原来的语句sql="selecttop1*fromnsortorderbynsort_iddesc"这句查询范围只是符合条件中的第一条记录,并不能满足我的要求。请高手就用...
原来的语句
sql="select top 1 * from nsort order by nsort_id desc"这句查询范围只是符合条件中的第一条记录,并不能满足我的要求。请高手就用我上面的句子改过来。
请问如果是指定第5条至第8条记录呢?
还有,如果指定是第5条、第8条、第10条,这样又怎么编写呢?这两个意思请帮忙分开来写 展开
sql="select top 1 * from nsort order by nsort_id desc"这句查询范围只是符合条件中的第一条记录,并不能满足我的要求。请高手就用我上面的句子改过来。
请问如果是指定第5条至第8条记录呢?
还有,如果指定是第5条、第8条、第10条,这样又怎么编写呢?这两个意思请帮忙分开来写 展开
5个回答
展开全部
例如:写一个SQL语句,取出表S中第21~30记录(SQL server,以自动增长的ID作为主键,ID可能不连续)
方法一:
Select TOp10 * from S
Where ID>(Select MAX(ID) from (Select Top20 ID from S ) as S)
方法二:
select Top10 * from S where ID NOT IN(select Top20 ID from S)
扩展资料
SQL SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SQL SELECT 语法
SELECT 列名称 FROM 表名称
以及:
SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例:
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons
展开全部
区间的话,需要用and来进行双条件替换,不能直接 2<id<5的形式。
sql: select * from tablname where id >2 and id<5;
解释:and表示的是必须同时满足条件,也就是说查询出id大于2并且小于5( 2<id<5)的所有值。
sql: select * from tablname where id >2 and id<5;
解释:and表示的是必须同时满足条件,也就是说查询出id大于2并且小于5( 2<id<5)的所有值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ConsumeTime between cast(GetDate()-0.5 as int) and GetDate()
GetDate()是现在系统时间
GetDate()-0.5是12小时前的时间
所以你上边的sql语句是查询时间以前12个小时的数据,如果想查询固定的早上或者中午的数据,如果是通过sql查询分析器则可以直接把查询时间段替换一下即可
如查询今天中午的可以用
ConsumeTime between 2008-10-21 8:00:00 and 2008-10-21 14:00:00
,如果是别的软件,可以把ConsumeTime后的条件设置为参数,当选择早上时就查询1900-1-1 1900-1-1 8:00:00 之间的数据,当查询中午 就把参数替换为1900-1-1 8:00:00 1900-1-1 14:00:00 ,日期肯定要换,时间就设置成固定就可以了.
GetDate()是现在系统时间
GetDate()-0.5是12小时前的时间
所以你上边的sql语句是查询时间以前12个小时的数据,如果想查询固定的早上或者中午的数据,如果是通过sql查询分析器则可以直接把查询时间段替换一下即可
如查询今天中午的可以用
ConsumeTime between 2008-10-21 8:00:00 and 2008-10-21 14:00:00
,如果是别的软件,可以把ConsumeTime后的条件设置为参数,当选择早上时就查询1900-1-1 1900-1-1 8:00:00 之间的数据,当查询中午 就把参数替换为1900-1-1 8:00:00 1900-1-1 14:00:00 ,日期肯定要换,时间就设置成固定就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-20
展开全部
你做过分页嘛,分页的sql跟你的需求不是完全一致的嘛!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是查第5---->8条的话。
select * from (
select top 1 * from nsort order by nsort_id desc
) t where t.rowmun>5 and rownum <8;
如果是地, 5.8.10
select * from (
select top 1 * from nsort order by nsort_id desc
) t where t.rownum in (5,8,10)
select * from (
select top 1 * from nsort order by nsort_id desc
) t where t.rowmun>5 and rownum <8;
如果是地, 5.8.10
select * from (
select top 1 * from nsort order by nsort_id desc
) t where t.rownum in (5,8,10)
追问
不行,你有没有测试过的
追答
我给你写的是伪代码吗,大致思想就是这样的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询