注册 登录
编程论坛 SQL Server论坛

查询20-40之间的数据问题

雪雨星风 发布于 2008-07-02 15:53, 2042 次点击
数据库中有100条数据
ID 是自动编号
我想取出编号为20-40的数据查询怎么写


select top 3 *  from uf_blessing where uf_blessing_id <> (select top 1 uf_blessing_id from uf_blessing)
这个是取2、3不取1
16 回复
#2
雪雨星风2008-07-02 16:13
高手看看好不好,现在情况非常紧急
#3
雪雨星风2008-07-02 16:17
拜托各位 若是我说的问题你们没看明白  说一声  我现在急需那个语句
#4
雪雨星风2008-07-02 16:46
sqlserver难道就没有一个人在吗
#5
雪雨星风2008-07-02 17:29
无语 了
#6
lby1512008-07-02 17:47
好像你的语句写错了

select top 40 *  from uf_blessing where uf_blessing_id not in  (select top 20 uf_blessing_id from uf_blessing)

用not in 就行






欢迎加入程序爱好者群64995665群,继续讨论
#7
雪雨星风2008-07-02 18:30
good
#8
tomtory2008-07-03 09:37
你不是在用的 C#分页嘛 怎么又在用SQL分页哦

6楼已经解决了
#9
tomtory2008-07-03 09:40
其实以后建议你就用SQL分页
这样 不管你数据库有好多信息  就算有几百万条信息
用SQL分页方法查询数据要比你在C#里面分页要快得多
#10
雪雨星风2008-07-03 10:36
以前没有用过   查询写的也不是太好SQL我就听了2周的课
触发器和存储过程总共讲 了2节课 我用SQL一般情况下分不出来
所以只好用C#
#11
雪雨星风2008-07-03 10:37
其实  我感觉在SQL中分好再取  和取出再分几乎一样啊
#12
雪雨星风2008-07-03 15:41
select top 40 发贴积分,发贴者呢称  from 发贴表
where 发贴积分 not in (
select top 80 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc


我要查81-120的数据怎么查不到  我哪里写错了
#13
雪雨星风2008-07-03 15:46
select top 20 发贴积分,发贴者呢称  from 发贴表
where 发贴积分 not in (
select top 20 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc


这样就能查到正常的数据
#14
雪雨星风2008-07-03 15:47
我每次只想要40条数据   只是子查询中的数据在变
select top 40 发贴积分,发贴者呢称  from 发贴表
where 发贴积分 not in (
select top 80 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc


select top 40 发贴积分,发贴者呢称  from 发贴表
where 发贴积分 not in (
select top 160 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc

------------依次类推
#15
tomtory2008-07-04 09:26
select top 40 发贴积分,发贴者呢称  from 发贴表
where 发贴积分 not in (
select top 80 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc


此中的 top 40  是表示每页查询40条记录

top 80 是表示是从第80的一条记录开始查询

要得子查询的值  就是not in (
select top 80 发贴积分 from 发贴表 order by 发贴积分 desc
)order by 发贴积分 desc
这里面top后的值就应该是40*0,40*1,40*2,.......这样走的

[[it] 本帖最后由 tomtory 于 2008-7-4 09:30 编辑 [/it]]
#16
tomtory2008-07-04 09:26
[bo][un]雪雨星风[/un] 在 2008-7-3 10:37 的发言:[/bo]

其实  我感觉在SQL中分好再取  和取出再分几乎一样啊



怎么会一样

你认真看看它们的区别!!
#17
jxyga1112008-07-04 11:05
NOT IN
1