0

我在输入中有下表:

脚注字段脚注文本
Field1 blabla
字段2 blabla
Field3 blabla
Field4 zzzzzzzzzz
Field5 blablabla
Field6 地坪

如何添加一个增量整数列,为 FootnoteText 相同的行分配相同的整数?这就是我希望在这里实现的目标:

脚注字段脚注文本编号
Field1 blabla 1
Field2 blabla 1
Field3 blabla 1
Field4 zzzzzzzzzz 2
Field5 blablabla 3
Field6 地坪 4
4

2 回答 2

1

如果您不需要按 排序的数据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 fiddle demo

于 2013-09-23T16:53:00.350 回答
1

你可能想要DENSE_RANK()

SELECT *, DENSE_RANK() OVER(ORDER BY FootnoteText)
FROM YourTable

您只需要PARTITION BY为某个组中的每个值重新开始编号,即每天我希望编号从 0 开始,所以PARTITION BY Some_Date

演示:SQL 小提琴

于 2013-09-23T16:35:41.370 回答