Eu tenho uma consulta que retorna:
RowNumber Name
===================================
1 Invoice-02116 (1).pdf
1 Invoice-02116 (2).pdf
1 Invoice-02116.pdf
2 Invoice-02116.pdf
3 Invoice-02116.pdf
4 Invoice-02116.pdf
5 Invoice-02116.pdf
O que eu preciso é algo como:
RowNumber Name
===================================
1 Invoice-02116 (1).pdf
2 Invoice-02116 (2).pdf
3 Invoice-02116.pdf
3 Invoice-02116.pdf
3 Invoice-02116.pdf
3 Invoice-02116.pdf
3 Invoice-02116.pdf
Mais exatamente, para exibir a classificação, dependendo da coluna do nome.
O que estou usando para a coluna RowNumber é:
SELECT ROW_NUMBER() OVER (PARTITION BY ff.Name ORDER BY ff.Name) AS RowNumber, ff.Name
Respostas:
3 para resposta № 1Usar DENSE_RANK
em vez de :
SELECT DENSE_RANK() OVER (ORDER BY ff.Name) AS RowNumber...
2 para resposta № 2
Usar DENSE_RANK
com uma ordem apropriada:
SELECT
DENSE_RANK() OVER (ORDER BY LEN(Name) DESC, Name) AS RowNumber,
Name
FROM yourTable;