Hola amigos, les solicito ayuda para lo siguiente, tengo una tabla que contiene estos datos:
postg...@contable[localhost]=# select idgrupo,grupo from cc_grupos; idgrupo | grupo ---------+--------------- 4 | LAS PAGADORAS 5 | BACILADORAS 1 | ABCD 3 | DENOMINACION (4 filas) Entonces quiero mantener un campo que despues de ordenados los registros, mantega un consecutivo respectivo a su fila: postg...@contable[localhost]=# begin; create sequence s; select nextval('s') as offset,x.idgrupo,x.grupo from (select cc.idgrupo,cc.grupo from cc_grupos cc order by cc.grupo) x;rollback; BEGIN CREATE SEQUENCE offset | idgrupo | grupo --------+---------+--------------- 1 | 1 | ABCD 2 | 5 | BACILADORAS 3 | 3 | DENOMINACION 4 | 4 | LAS PAGADORAS (4 filas) Hasta esta parte todo va perfecto, mi duda es con respecto a cuando filtro esta tabla resultante, ya que si yo le digo que me de la fila donde el idgrupo sea igual a 5, en teoria debo obtener: offset | idgrupo | grupo --------+---------+--------------- 2 | 5 | BACILADORAS pero, no es asÃ, al hacer: postg...@contable[localhost]=# begin; create sequence s; select * from (select nextval('s') as offset,idgrupo,grupo from (select idgrupo,grupo from cc_grupos order by grupo) x ) xx where idgrupo=5;rollback; obtengo lo siguiente: BEGIN CREATE SEQUENCE offset | idgrupo | grupo --------+---------+------------- 1 | 5 | BACILADORAS (1 fila) ROLLBACK en que me estoy equivocando?, o por que es que no regresa 2 en la columna offset?.