PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Explicação personalizada de ORDER BY


Cada expressão é avaliada como um bool e tratada como 0 para false e 1 para true e classificada adequadamente. Mesmo que isso funcione, a lógica é difícil de seguir (e, portanto, manter). O que eu uso é uma função que encontra o índice de um valor em uma matriz.
ORDER BY idx(array['Nails','Bolts','Washers','Screws','Staples','Nuts'], s.type)

Isso é muito mais fácil de seguir. As unhas serão classificadas primeiro e as nozes por último. Você pode ver como criar a função idx no repositório de trechos do Postgres.http://wiki.postgresql.org/wiki/Array_Index