给定下面的数字序列,如何分配序列号,以便为每个以 1 开头并以 0 结尾的 block 赋予唯一的标识号?如何使用 TSQL 创建序列号列?
最佳答案
使用COUNT OVER
来计算零。您需要一些列来确定顺序。我在以下查询中将其称为 sortkey:
select
t.*,
count(case when sequence = 0 then 1 end)
over (order by sortkey
rows between unbounded preceding and 1 preceding) + 1
as sequence_number
from mytable t
order by sortkey;
关于sql - 如何对序列 block 进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74205439/