首页 > 解决方案 > 如何比较表中的两行

问题描述

我有一个表名 Meetings 列 Numbers (integer) :

 Numbers
    1
    2
    3
    14
    19

我需要在 Numbers 列上运行,当发现一个或多个数字的差距时,我需要获取该差距的第一个值 - 例如 3,14。最好的方法是什么?一个简单的选择还是我应该使用光标?

标签: sql

解决方案


使用lead()

select number
from (select t.*,
             lead(number) over (order by number) as next_number
      from t
     ) t
where next_number <> number + 1;

关注微软教程以获取更多信息。


推荐阅读