Cara, eu estava completamente enganado. Mil perdões.
Eu consegui:

select rownum - pos,
       todos_ncu.ncu,
       todos_ncu.cp
from   (select nm_conta_usuario ncu,
               cd_perfil        cp
        from   usuario_perfil) todos_ncu,
       (select nm_conta_usuario ncu,
               min(rownum) - 1 pos,
               count(cd_perfil) maxncu
        from   usuario_perfil
        group  by nm_conta_usuario) cont
where  todos_ncu.ncu = cont.ncu
order  by todos_ncu.ncu,
          todos_ncu.fil
select rownum - pos,
       filiais.emp,
       filiais.fil


Roberto Amorim escreveu:
> Amigo acho que não tem como zerar o contador a cada troca da perfil. 
> Tentei fazer uma gambiarra com group by e count, mas não dá para saber a 
> posição relativa do registro atual em relação ao primeiro registro do 
> mesmo tipo. Seria necessário que você tivesse como montar no fetch da 
> linha a informação de quantas linhas já passaram desde a última vez que 
> o campo mudou.
> Você terá que usar stored procedure e tabela temporária mesmo.
> um abraço
> Roberto Amorim
> PS. Mas, pode ser que exista uma instrução no Oracle 9 ou 10g que faça 
> tal agrupamento e eu desconheça, sou usuário do 8i.
>
> Jonas Randal Reis escreveu:
>   
>> Boa tarde,
>>
>> Dado o seguinte select:
>>
>> select uspe.NM_CONTA_USUARIO
>>       ,uspe.CD_PERFIL
>> from   usuario_perfil uspe
>> order by 1;
>>
>> São gerados os seguintes dados (sem a coluna X):
>>
>>    *X* *NM_CONTA_USUARIO* *CD_PERFIL*   1 ABEDIL#SILVA 400   2 ABEDIL#SILVA
>> 401   3 ABEDIL#SILVA 402   1 ABEL#SISTI 400   2 ABEL#SISTI 401   1
>> ABILIO#PEREIRA 400   1 ADAIR#ALVES 401   2 ADAIR#ALVES 402   3 ADAIR#ALVES
>> 400   1 ADAIR#SILVEIRA 401   2 ADAIR#SILVEIRA 400   3 ADAIR#SILVEIRA 402   1
>> ADALBERTO#MACHA 401   2 ADALBERTO#MACHA 400   3 ADALBERTO#MACHA 402   1
>> ADALCIR#SILVA 100
>>
>> Minha dúvida é exatamente como obter a coluna X incrementando esse mesmo
>> select.
>> Se alguém puder me ajudar agradeço.
>>
>> Att,
>>
>> Jonas Reis
>>
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>>   
>>     
>>> Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure 
>>> » Scripts » Tutoriais acesse: 
>>> http://www.oraclebr.com.br/codigo/ListaCodigo.php 
>>>     
>>>       
>> --------------------------------------------------------------------------------------------------------------------------
>>   
>>     
>>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>>> responsabilidade de seus remetentes.
>>>     
>>>       
>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
>> --------------------------------------------------------------------------------------------------------------------------
>>   
>>     
>>> O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>>> http://www.oraclebr.com.br/  
>>>     
>>>       
>> ------------------------------------------------------------------------------------------------------------------------
>>   
>> Links do Yahoo! Grupos
>>
>>  
>>
>>
>>
>>   
>>     
>
>
>
>   
>> Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure 
>> » Scripts » Tutoriais acesse: 
>> http://www.oraclebr.com.br/codigo/ListaCodigo.php 
>>     
> --------------------------------------------------------------------------------------------------------------------------
>   
>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>> responsabilidade de seus remetentes.
>>     
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
> --------------------------------------------------------------------------------------------------------------------------
>   
>> O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>> http://www.oraclebr.com.br/  
>>     
> ------------------------------------------------------------------------------------------------------------------------
>   
> Links do Yahoo! Grupos
>
>  
>
>
>
>   

Responder a