如何检查postgres表中的条目是否增加

时间:2019-01-19 11:21:02

标签: sql postgresql

我有一个表temp(a int)。它具有一些存储在其中的值。我怎么知道所有这些值是否都在严格增加?

例如,temp可以包含按严格递增顺序排列的1,2,3-值,或不严格按递增方式包含1,1,2-的值。谢谢!

1 个答案:

答案 0 :(得分:3)

SQL表表示无序集。因此,如果您的表只有一列,则没有答案-该问题没有意义,因为没有排序。

如果我假设您有一个订购栏,则可以简单地使用lag()。对于表上的标志,这是逻辑:

select (count(*) > 0) as not_all_increasing
from (select t.*, lag(val) over (order by <orderingcol>) as prev_val
      from t
     ) t
where prev_val > val;

如果要查看不增加的值,只需使用select t.*