Sql 使用窗口函数添加行号

Sql 使用窗口函数添加行号,sql,sql-server,window-functions,Sql,Sql Server,Window Functions,我输入了下表: FootnoteField FootnoteText Field1 blabla Field2 blabla Field3 blabla Field4 zzzzzzzzzz Field5 blablabla Field6

我输入了下表:

FootnoteField FootnoteText Field1 blabla Field2 blabla Field3 blabla Field4 zzzzzzzzzz Field5 blablabla Field6 ploof 脚注字段脚注文本 字段1布拉布拉 字段2布拉布拉 字段3布拉布拉 字段4 zzzzzzzz 字段5布拉布拉布拉布拉 字段6 如何添加增量整数列,为脚注文本相同的行分配相同的整数?这就是我希望在这里实现的目标:

FootnoteField FootnoteText Number Field1 blabla 1 Field2 blabla 1 Field3 blabla 1 Field4 zzzzzzzzzz 2 Field5 blablabla 3 Field6 ploof 4 脚注字段脚注文本编号 字段1 blabla 1 字段2 blabla 1 字段3 blabla 1 字段4 zzzzzz 2 字段5 blabla 3 字段6/4
您可能需要
密集的\u RANK()

如果希望某个组中的每个值重新开始编号,则只需按
分区,即每天我希望编号从0开始,因此
按某个日期分区


演示:

如果您不需要按
FootnoteField
排序的数据,您可以选择GoatCo答案

但如果你这样做了:

with cte as (
    select
        FootnoteText, FootnoteField,
        min([FootnoteField]) over(partition by FootnoteText) as min_FootnoteText
    from Table1
)
select 
    FootnoteText, FootnoteField,
    dense_rank() over(order by min_FootnoteText)
from cte

什么版本的SQL server?您需要按脚注字段排序的数字吗?请使用它创建SQLFIDLE演示:)即将到来。。。sql fiddle出现了问题。我们也试图创建一个fiddle来证明您是对的。。在sqlexpress上工作-很好,ddl的文本仍在工作;)提琴贴。如果按FootnoteField排序,则每行的值都会不同。@GoatCO这不是我要说的。在带有bla的OP输出行中有数字3,在您的输出中有数字2@GoatCO该死的,谢谢,想想最近累积的金额,想想它在SQL Server 2008中是如何不起作用的:(
with cte as (
    select
        FootnoteText, FootnoteField,
        min([FootnoteField]) over(partition by FootnoteText) as min_FootnoteText
    from Table1
)
select 
    FootnoteText, FootnoteField,
    dense_rank() over(order by min_FootnoteText)
from cte