下面有一个类似的表格
ID Vals
1 Product
2 Milk
3 Butter
4 Cheese
5 Yogurt
6 Product
7 Muesli
8 Porridge
9 Product
10 Banana
需要的输出,如低于
RWNUM ID Vals
1 1 Product
1 2 Milk
1 3 Butter
1 4 Cheese
1 5 Yogurt
2 6 Product
2 7 Muesli
2 8 Porridge
3 9 Product
3 10 Banana
每次遇到Product时,RWNUM列的值都将增加一。
这需要在单个TSQL查询中实现。
欢迎任何想法。
看起来你想要一个"产品":
select t.*,
sum(case when val = 'Product' then 1 else 0 end) over (order by id) as rwnum
from t;