From: | Denis González <denis(dot)montenegro(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: asignar valor creciente |
Date: | 2007-06-15 14:55:12 |
Message-ID: | 4672A850.1090101@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Arturo Munive escribió:
> Oswaldo Hernández escribió:
>> Oswaldo Hernández escribió:
>>> Arturo Munive escribió:
>>>>
>>>> prueba=# select * from codigos;
>>>> codigo | orden
>>>> --------+-------
>>>> 547 |
>>>> 459 |
>>>> 248 |
>>>> 925 |
>>>> 247 |
>>>> 425 |
>>>> (6 rows)
>>>>
>>>>
>>>> pero quisiera que tenga algo asi
>>>>
>>>> codigo | orden
>>>> --------+-------
>>>> 247 | 1
>>>> 248 | 2
>>>> 425 | 3
>>>> 459 | 4
>>>> 547 | 5
>>>> 925 | 6
>>>> (6 rows)
>>>>
>>>> es decir como ordenar la tabla antes de la actualización?, por que
>>>> cuando en estos datos uso lo que me recomendaste entonces
>>>> coloca la secuencia pero no en los códigos ordenados, es decir la
>>>> secuencia de los números debe quedar acorde al código ordenado
>>>> ascendentemente.
>>>
>>> Hace algun tiempo tuve una necesidad parecida y lo resolvi mas o
>>> menos asi (Ojo no esta probado):
>>>
>>> update codigos set ordern = (select count(*) from codigos as c2
>>> where codigos.codigo < c2.codigo) + 1;
>>
>> ERRATA: Cambia el '<' por '>'
>> ( es lo que pasa cuando se hacen las cosas deprisa y no se prueban)
>>
>>>
>>> La idea es que para cada valor de codigo cuente cuantos hay menores
>>> y le asigne este valor + 1 (En caso de que el orden empieze por 1).
>>> Con tablas no muy grandes funcionará bien, si son muy grandes puede
>>> tardar un poco ;)
>>>
>>> Suerte.
>>>
>>
>>
> funcionó, bueno eso de que en tablas grandes demore, es un costo que
> deberé pagar mientras vemos como se puede optimizar, la solución gracias
> --
¿Cuál es el objetivo de enumerar tu salida? Si es para paginar entonces
LIMIT y OFFSET junto con el ORDER BY deberían ser suficientes para
realizar el trabajo.
Un saludo.
Denis González
From | Date | Subject | |
---|---|---|---|
Next Message | Paulina Rodas | 2007-06-15 15:32:22 | Re: Postgres and Mapserver timeout |
Previous Message | Raul Andres Duque | 2007-06-15 14:47:18 | Re: Proyecto N-capas .net con Postgresql |