warldge 2022-03-11 16:24 采纳率: 52.6%
浏览 38
已结题

sql怎么获取连续最大id?

sql怎么获取连续最大id?
例如id的值是: 1 2 3 7 8 9.
此时连续最大值是3.
也就是id值从初始值1以跨度递加,在不断开(跨度超出默认值)的情况下的最大值.
麻烦dba给下解决思路,谢谢.

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-11 16:38
    关注

    先说下你的数据库类型以及数据库版本

    1. 最基本的做法,就是左关联自己,关联条件为左边id加1等于右边id,当右边id为空时,说明左边id已达最大;
    2. 如果是oracle,可以使用模式匹配sql
    3. 如果是支持开窗函数的数据库,可以使用lead来获取下一行,并和本行做差,相差不为1时说明id已达最大
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月16日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图