Em 16 de maio de 2011 14:47, Fabiano Fernandes <
cont...@fabianofernandes.adm.br> escreveu:

> Olá a todos ...
>
> estou precisando customizar o ORDER BY de uma consulta ... Ou seja, não
> poder sem ASC ou DESC ...
>
> É possível fazer isso no Postgres?
>
>
Usando uma função no ORDER BY pode ser que consigas o que queres... veja um
exemplo simples:

postgres@bdteste=# create table foo (codigo integer);
CREATE TABLE

postgres@bdteste=# insert into foo select * from generate_series (1, 100);
INSERT 0 100

postgres@bdteste=# create function foo(integer) returns integer as
$$ select ($1 % 10)::integer $$
language sql;
CREATE FUNCTION

postgres@bdteste=# select * from foo order by foo(codigo), codigo;
 codigo
--------
     10
     20
     30
     40
     50
     60
     70
     80
     90
    100
      1
     11
     21
     31
     41
     51
     61
     71
     81
     91
      2
     12
     22
     32
     42
     52
     62
     72
     82
     92
      3
     13
     23
     33
     43
...


Não sei se seria bem isso que necessitas, mas pode ser um começo...

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a