--以grid为组,按year大小排序
select t4.*,t4.year-lag(t4.year,1,t4.year) over (partition by t4.grid order by t4.year asc) flag
from 表名 t4
lag()函数取前一次记录。 当前年份
t4.year
减去
上一条记录的年份
lag(t4.year,1,t4.year)
就是两条记录的年份差,命名为 flag
以组为单位。判断,组内所有 flag=1,表示这个组内的记录是等比例连续的。这个sql就不在这边写了
当然flag 也可以是别的数字,只要保证组内,所有flag都是同一个数字即可。
可以根据个人需求调整查询方式。