我有一个巨大的用户事务的 sql 表(超过 10 亿)。
我想添加一个二进制列,它表示当前 user_id 行是否比前一个行短 40 分钟。
例如:
user_id | date
--------+--------------------
1 | 2011-01-01 12:15:00
1 | 2011-01-01 12:00:00
8 | 2011-01-01 15:00:00
8 | 2011-01-01 14:00:00
查询的结果是:
user_id | date | new
--------+---------------------+----
1 | 2011-01-01 12:15:00 | 0
1 | 2011-01-01 12:00:00 | 1
8 | 2011-01-01 15:00:00 | 1
8 | 2011-01-01 14:00:00 | 1
我想避免将整个表连接到自身,并且可能使用边表或分析函数(过度分区)。