7.5. Ordenando linhas

depois de uma consulta ter produzido uma tabela de saída (após a lista de seleção ter sido processada), ela pode opcionalmente ser ordenada. Se a ordenação não for escolhida, as linhas serão devolvidas numa ordem não especificada. A ordem real nesse caso vai depender da varredura e juntar tipos de plano e a ordem no disco, mas não deve ser invocado. Uma ordenação de saída particular só pode ser garantida se o passo de ordenação for explicitamente escolhido.

a ordem por cláusula especifica a ordem de ordenação:

SELECT select_list FROM table_expression ORDER BY column1 ...]

column1, etc., consulte seleccionar as colunas da lista. Estes podem ser o nome de saída de uma coluna (ver secção 7.3.2) ou o número de uma coluna. Alguns exemplos:

SELECT a, b FROM table1 ORDER BY a;SELECT a + b AS sum, c FROM table1 ORDER BY sum;SELECT a, sum(b) FROM table1 GROUP BY a ORDER BY 1;

Como uma extensão para o SQL padrão, o PostgreSQL também permite a ordenação por expressões arbitrárias:

SELECT a, b FROM table1 ORDER BY a + b;

Referências para nomes de coluna da cláusula FROM que não estão presentes na lista de seleção são também permitidos:

SELECT a FROM table1 ORDER BY b;

Mas essas extensões não funcionam em consultas que envolvam UNION, INTERSECT ou EXCEPT, e não são portáteis para outros bancos de dados SQL.

cada especificação de coluna pode ser seguida por uma ASC ou DESC opcional para definir a direcção da ordenação para ascendente ou descendente. A ordem ASC é o padrão. Ordem ascendente coloca valores menores em primeiro lugar, onde “menor” é definido em termos do operador <. Similarmente, a ordem descendente é determinada com o operador >.

se for especificada mais do que uma coluna de ordenação, os itens posteriores são usados para ordenar linhas que são iguais sob a ordem imposta pelas colunas de ordenação anteriores.

Deixe uma resposta

O seu endereço de email não será publicado.

Previous post How Much Is a Used Hot Tub’s Worth/Value?
Next post What to know about Josh Duggar’s sexual abuse scandal