sql server—在ms sql中由具有重复值的多个列进行分区

yhuiod9q  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(242)

例如,我在一个表中有两列


**Fruit Color**

Mango Yellow
Mango Yellow
Apple Red
Apple Red

预期产量


**Rank Fruit Color**

1    Mango Yellow
1    Mango Yellow
2    Apple Red
2    Apple Red

尝试了row\u number(),但似乎没有产生预期的输出。也尝试了rank()和dense\u rank(),但没有得到预期的结果

SELECT ROW_NUMBER() OVER (PARTITION BY Fruit,Color order by Fruit) , Fruit,Color
from #temp
ORDER BY FRUIT

rwno    Fruit   Color
1   Apple   Red
2   Apple   Red
1   Mango   Yellow
2   Mango   Yellow
ilmyapht

ilmyapht1#

你想要什么 dense_rank() 而且没有 partition by :

SELECT DENSE_RANK() OVER (ORDER BY Fruit, Color), Fruit, Color
from #temp
ORDER BY FRUIT

相关问题