假设某数据库表中有一个年龄字段,查找30-40岁之间的记录。问以上的查询

假设某数据库表中有一个年龄字段,查找30-40岁之间的记录。问以上的查询,第1张

select * from table where age between 30 and 40

用between的话根据不同的数据库,可能取不到30或者40,保险点可以用

select * from table where age >= 30 and a <= 40

这就是个分页取值的原型...

31条到40条就是10条数据

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

这样就可以过滤掉前面30条了,其中语句中的'id'值是用来过滤的,无论的你的ID是否连续,只要出现在子查询中的ID,主查询都会把他过滤掉,这样就可以实现31-40的查询了

望采纳

select * from

(

select top 10 * from

(

select top 40 * from table order by id asc --首先得到前40条记录

) a order by id desc --得到40到31的记录

) b order by id asc --重新排序,得到31-40的记录


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6902480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存