• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sql 查询记录数结果集某个区间内记录
    以查询前20到30条为例,主键名为id

    方法一: 先正查,再反查
    select top 10 * from (select top 30 * from tablename order by id asc) A order by id desc

    方法二: 使用left join
    select top 10 A.* from tablename A
    left outer join (select top 20 * from tablename order by id asc) B
    on A.id = B.id
    where B.id is null
    order by A.id asc

    方法三: 使用not exists
    select top 10 * from tablename A
    where id not exists
    (select top 20 * from tablename B on A.id = B.id)

    方法四: 使用not in
    select top 10 * from tablename
    where id not in
    (select top 20 id from tablename order by id asc)
    order by id asc

    方法五: 使用rank()
    select id from
    (select rank() over(order by id asc) rk, id from tablename) T
    where rk between 20 and 30

    中第五种方法看上去好像没有问题,查了下文档,当over()用于rank/row_number时,整型列不能描述一个列,所以会产生非预期的效果. 待考虑下,有什么办法可以修改为想要的结果.
    您可能感兴趣的文章:
    • SQL Server数据库按百分比查询出表中的记录数
    • mysql实现查询最接近的记录数据示例
    • 关于关系数据库如何快速查询表的记录数详解
    上一篇:sql server 表结构修改方法
    下一篇:SQLSERVER 本地查询更新操作远程数据库的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sql 查询记录数结果集某个区间内记录 sql,查询,记录,数,结果,集某,