Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在postgreSQL中检查数字是否连续?_Sql_Postgresql - Fatal编程技术网

如何在postgreSQL中检查数字是否连续?

如何在postgreSQL中检查数字是否连续?,sql,postgresql,Sql,Postgresql,嗨,我的数据库如下: id | lownumber | highnumber | content --------------------------------------- 1 | 10 | 13 | text 2 | 14 | 19 | book 3 | 6 | 9 | table ... 我想检查一下lownumber和highnumber是否正确。我的意思是上一个

嗨,我的数据库如下:

id  |  lownumber | highnumber | content
---------------------------------------
1   |   10       |   13       | text
2   |    14      |    19      |  book
3   |    6       |     9      |  table
...


我想检查一下lownumber和highnumber是否正确。我的意思是上一个高位数字+1是否等于下一行低位数字?如何在postgresql中执行此操作?

您可以使用lag获取异常:


注:前一项不明确。我不知道这个问题是指基于id还是lownumber的前一行。如果是后者,则按更改顺序。

编辑您的问题并显示您想要的结果。您不应该按lownumber排序吗?@LaurenzAlbe。老实说,我不知道。我根据id解释了前面的内容,但您的解释也可能是正确的。
select t.*
from (select t.*, lag(highnumber) over (order by id) as prev_highnumber
      from t
     ) t
where lownumber <> prev_highnumber + 1;