2014-04-18 3 views
0

Ok donc j'ai un groupe d'information comme celui-ci:Assigné ID unique à un groupe de mêmes valeurs

2014-01 2014-1-1 
2014-01 2014-1-2 
2014-01 2014-1-3 
2014-02 2014-2-1 
2014-02 2014-2-2 

Je veux créer une autre colonne il ressemblera à ceci: (commande)

1  2014-01 2014-1-1 
1  2014-01 2014-1-2 
1  2014-01 2014-1-3 
2  2014-02 2014-2-1 
2  2014-02 2014-2-2 

J'ai essayé la fonction de rang, mais il n'a pas » aide, donnez-moi seulement une valeur 1,2,3,4,5 tout au long

1  2014-01 2014-1-1 
2  2014-01 2014-1-2 
3  2014-01 2014-1-3 
4  2014-02 2014-2-1 
5  2014-02 2014-2-2 

Quelqu'un s'il vous plaît aider ...? Merci

+0

En ce qui concerne votre titre, un identifiant qui se répète est pas unique. –

Répondre

2

Vous devez afficher la requête que vous avez essayée. Dans tous les cas, vous voulez dense_rank():

select dense_rank() over (order by col1) , col1, col2 
from table t; 

Si ces deux valeurs sont en fait dans une colonne, puis faites:

select dense_rank() over (order by left(col, 7)), col 
from table t; 
+0

FYI, [voici une question] (http://stackoverflow.com/q/11183572/642706) qui compare 'rank' et' dense_rank'. –

+0

Cela fonctionne très bien, merci à tous! – kidik

Questions connexes