Cláusula ORDER BY - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cláusula ORDER BY

A cláusula ORDER BY classifica o conjunto de resultados de uma consulta.

nota

A expressão ORDER BY mais externa deve ter somente colunas que estejam na lista de seleção.

Sintaxe

[ ORDER BY expression [ ASC | DESC ] ] [ NULLS FIRST | NULLS LAST ] [ LIMIT { count | ALL } ] [ OFFSET start ]

Parâmetros

expressão

Expressão que define a ordem de classificação do resultado da consulta. Ela consiste em uma ou mais colunas da lista de seleção. Os resultados são obtidos com base na ordem binária UTF-8. Também é possível especificar o seguinte:

  • Números ordinais que representam a posição de entradas da lista de seleção (ou a posição das colunas na tabela se não houver lista de seleção)

  • Aliases que definem entradas da lista de seleção

Quando a cláusula ORDER BY tiver várias expressões, o conjunto de resultados será classificado de acordo com a primeira expressão, e a segunda expressão será aplicada a linhas que tenham valores correspondentes com os da primeira expressão, e assim por diante.

ASC | DESC

Opção que define a ordem de classificação para a expressão, da seguinte forma:

  • ASC: ascendente (por exemplo, de valores numéricos menores para maiores e de "A" a "Z" para strings de caracteres). Se nenhuma opção é especificada, os dados são classificados na ordem ascendente por padrão.

  • DESC: descendente (de valores numéricos maiores para menores; de "Z" a "A" para strings).

NULLS FIRST | NULLS LAST

Opção que especifica se valores NULL devem ser classificados primeiro, antes de valores não nulos, ou por último, depois de valores não nulos. Por padrão, os valores NULL são ordenados e classificados por último na ordem ASC e são ordenados e classificados primeiro na ordem DESC.

LIMIT number | ALL

Opção que controla o número de linhas classificadas que a consulta retorna. O número LIMIT deve ser um inteiro positivo. O valor máximo é 2147483647.

LIMIT 0 não retorna linhas. Você pode usar essa sintaxe para fins de teste: para garantir que uma consulta seja executada (sem exibir qualquer linha) ou obter uma lista de colunas de uma tabela. Uma cláusula ORDER BY é redundante se você estiver usando LIMIT 0 para obter uma lista de colunas. O valor padrão é LIMIT ALL.

OFFSET start

Opção que especifica para ignorar o número de linhas antes de start antes de começar a retornar linhas. O número OFFSET deve ser um inteiro positivo. O valor máximo é 2147483647. Quando usadas com a opção de LIMIT, as linhas OFFSET são ignoradas antes de iniciar a contagem de linhas LIMIT que são retornadas. Se a opção LIMIT não for usada, o número de linhas no conjunto de resultados será reduzido para o número de linhas ignoradas. As linhas ignoradas por uma cláusula OFFSET ainda precisam passar por varredura, e pode não ser eficiente usar um valor OFFSET grande.

Observações de uso

Observe o seguinte comportamento esperado com cláusulas ORDER BY:

  • Os valores NULL são considerados "mais altos" que todos os demais valores. Com a ordem de classificação crescente padrão, os valores NULL são classificados no final. Para alterar esse comportamento, use a opção NULLS FIRST.

  • Quando uma consulta não tiver uma cláusula ORDER BY, o sistema retornará conjuntos de resultados sem uma classificação previsível das linhas. A mesma consulta executada duas vezes pode retornar o conjunto de resultados em uma ordem diferente.

  • As opções LIMIT e OFFSET podem ser usadas sem uma cláusula ORDER BY. No entanto, para obter um conjunto consistente de linhas, use essas opções em conjunto com ORDER BY.

  • Em qualquer sistema paralelo, por exemplo AWS Clean Rooms, quando ORDER BY não produz uma ordenação exclusiva, a ordem das linhas não é determinística. Ou seja, se a expressão ORDER BY produzir valores duplicados, a ordem de retorno dessas linhas poderá variar de outros sistemas ou de uma execução AWS Clean Rooms para a próxima.

  • AWS Clean Rooms não oferece suporte a literais de string nas cláusulas ORDER BY.