Re: Problema con ORDER BY

From: Jose Ayala - CROMOTEX <jayala(at)cromotex(dot)com(dot)pe>
To: Hellmuth Vargas <hivs77(at)gmail(dot)com>
Cc: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema con ORDER BY
Date: 2012-09-11 19:08:19
Message-ID: CAOyvoV-9uzbzK1ZxBq3dcwSbatMgGQS2Mm=tZ_Tro4=tCW_UqQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias por la ayuda, queria ver si alguien podia resolverlo sin tener que
hacer uso de otra funcion, solo con el order by clasico; leyendo por ahi me
indicaban que el problema es la forma en la que se construyen los indices,
y el order by usa estos indices; asi que bueno yo lo solucione asi:

select codigo,nombre from mitabla
ORDER BY ascii(nombre)

Espero q a alguien mas le sirva tmb esto.

P.D. No habia visto/conocia esa posibilidad de hacer "tablas on the fly"
como lo hace Hellmut para el ejemplo, excelente aporte para mi :)

Saludos

El 11 de septiembre de 2012 11:59, Hellmuth Vargas <hivs77(at)gmail(dot)com>escribió:

>
> buenas Lista
>
> realice la siguiente consulta donde ordeno por el primer carácter: order
> by substring(a.nombre,1,1)
>
> select
> * from
> (values(100,'JUAN'),(200,'LUCHO'),(300,'ARMANDO'),(400,'_JOSE'),(500,'_adrian'))
> as a(codigo, nombre)
> order by substring(a.nombre,1,1)
>
> y genera la siguiente salida:
>
> codigo, nombre
> 400,_JOSE
> 500,_adrian
> 300,ARMANDO
> 100,JUAN
> 200,LUCHO
>
> para organizarlo en el mismo orden del ejemplo iniciar: order by case when
> substring(a.nombre,1,1)<>'_' then substring(a.nombre,2,1) else 'z' end
>
> select
> * from
> (values(100,'JUAN'),(200,'LUCHO'),(300,'ARMANDO'),(400,'_JOSE'),(500,'_adrian'))
> as a(codigo, nombre)
> order by case when substring(a.nombre,1,1)<>'_' then
> substring(a.nombre,2,1) else 'z' end
>
> y genera la siguiente salida:
>
> codigo, nombre
> 300,ARMANDO
> 100,JUAN
> 200,LUCHO
> 400,_JOSE
> 500,_adrian
>
>
>
>
>
>
>
>
>
> 2012/9/11 CarloS Sing Ramos <carlossing(at)gmail(dot)com>
>
>> intenta poniendo ASC o DESC
>>
>> El día 5 de septiembre de 2012 19:08, Jose Ayala Pineda
>> <josejap(at)gmail(dot)com> escribió:
>> > Holas, haber si alguien me puede ayudar, esto tratando de sacar un
>> listado
>> > ordenandolo por descripcion con ORDER BY , pero me he dado cuenta que el
>> > ORDER BY no reconoce mis caracteres que no sean alfanumericos, por
>> ejemplo:
>> >
>> > codigo, nombre
>> > 100, JUAN
>> > 200, LUCHO
>> > 300, ARMANDO
>> > 400, _JOSE
>> > 500, _adrian
>> >
>> > al hacer un "select * from mitabla order by nombre" devuelve
>> > 500, _adrian
>> > 300, ARMANDO
>> > 400, _JOSE
>> > 100, JUAN
>> > 200, LUCHO
>> >
>> > y deberia mostrar primero los que empiezan por el subguion; he probado
>> con
>> > puntos , guiones, asteriscos y siempre devuelve ordenado por el primer
>> > caracter alfanumerico, no por los otros; hay forma de que el ORDER BY
>> > considere estos caracteres no alfanumericos en la ordenacion.
>> >
>> > Gracias de antemano
>> >
>> >
>> > --
>> > Jose J. Ayala Pineda (a.k.a. 1nk(at)H@ck)
>> > MSN Messenger: jjap(at)hotmail(dot)com
>> > URL/Blog: http://inkahack.blogspot.com
>> > "Si tú tienes una manzana y yo tengo una manzana y las intercambiamos,
>> > entonces ambos aún tendremos una manzana. Pero si tú tienes una idea y
>> yo
>> > tengo una idea y las intercambiamos, entonces ambos tendremos dos
>> ideas".
>> > George Bernard Shaw
>> >
>>
>>
>>
>> --
>> Salu2
>> Linux Register User #525697
>> --==[[Carlos Sing]]==--
>>
>> -
>> Enviado a la lista de correo pgsql-es-ayuda (
>> pgsql-es-ayuda(at)postgresql(dot)org)
>> Para cambiar tu suscripción:
>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>
>
>
>
> --
> Cordialmente,
>
> Ing. Hellmuth I. Vargas S.
> Esp. Telemática y Negocios por Internet
> Oracle Database 10g Administrator Certified Associate
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2012-09-11 19:39:51 Re: Problema con ORDER BY
Previous Message Hellmuth Vargas 2012-09-11 16:59:23 Re: Problema con ORDER BY