Re: asignar valor creciente

From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Oswaldo Hernández <listas(at)soft-com(dot)es>
Cc: usuario anonimo <opinante(dot)anonimo(at)gmail(dot)com>, Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: asignar valor creciente
Date: 2007-06-15 14:42:59
Message-ID: 4672A573.2040106@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raul Andres Duque 2007-06-15 14:47:18 Re: Proyecto N-capas .net con Postgresql
Previous Message Arturo Munive 2007-06-15 14:37:34 Re: asignar valor creciente