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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    SQL查询连续号码段的巧妙解法
    在ITPUB上有一则非常巧妙的SQL技巧,学习一下,记录在这里。
    最初的问题是这样的:
    我有一个表结构,
    fphm,kshm
    2014,00000001
    2014,00000002
    2014,00000003
    2014,00000004
    2014,00000005
    2014,00000007
    2014,00000008
    2014,00000009
    2013,00000120
    2013,00000121
    2013,00000122
    2013,00000124
    2013,00000125 
    (第二个字段内可能是连续的数据,可能存在断点。)
    怎样能查询出来这样的结果,查询出连续的记录来。
    就像下面的这样?
    2014,00000001,00000005
    2014,00000009,00000007
    2013,00000120,00000122
    2013,00000124,00000125
    ITPUB上的朋友给出了一个非常巧妙的答案:
    SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM
    FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc
          FROM (SELECT *
                FROM t
                ORDER BY fphm, kshm) a
        ) b
    GROUP BY b.fphm, b.cc
    您可能感兴趣的文章:
    • 连续序号的 sql语句
    • oracle—SQL技巧之(一)连续记录查询sql案例测试
    上一篇:数据库分页存储过程代码
    下一篇:sql server中千万数量级分页存储过程代码
  • 相关文章
  • 

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

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

    SQL查询连续号码段的巧妙解法 SQL,查询,连续,号码,段,的,