DISTINTO em PostgreSQL: Selecionar, Ordenar por e Limitar (Exemplos)

⚡ Resumo Inteligente

DISTINTO em PostgreSQL É utilizado com uma instrução SELECT para remover linhas duplicadas e retornar apenas valores únicos. Abrange a sintaxe SELECT, o SQL Shell e o pgAdmin, o uso de DISTINCT em colunas únicas e múltiplas, e a comparação entre DISTINCT e GROUP BY.

  • 🔎 SELECIONE: Recupere colunas de uma tabela com SELECT coluna FROM tabela.
  • 🧹 DISTINTO: Remova as linhas duplicadas e mantenha uma linha para cada valor único.
  • ↕️ ORDENAR POR: A ordenação é feita em ordem crescente por padrão, ou em ordem decrescente com a opção DESC.
  • 🔢 LIMITE: Limitar o número de registros retornados pela consulta.
  • 🖥️ Ferramentas: Execute as mesmas consultas no SQL Shell ou no pgAdmin.

DISTINTO em PostgreSQL

Você pode recuperar dados da tabela usando uma instrução SELECT.

Sintaxe:

SELECT [column names] FROM [table_name]

Aqui,

  • nomes das colunas: Nome das colunas cujo valor você deseja recuperar.
  • A PARTIR DE: A cláusula FROM define uma ou mais tabelas de origem para a instrução SELECT.
  • Nome da tabela: O nome de uma tabela existente que você deseja consultar.

O que é DISTINTO em PostgreSQL?

O DISTINCT cláusula em PostgreSQL É usado com uma instrução SELECT para remover linhas duplicadas do conjunto de resultados. Quando uma coluna contém valores repetidos, SELECT DISTINCT retorna apenas os valores únicos.ping Uma única linha para cada grupo de duplicados. Isso é útil quando você deseja uma lista de entradas distintas, como cidades de clientes ou categorias de produtos exclusivas, sem repetição.

A função DISTINCT avalia todas as colunas listadas na instrução SELECT para determinar se uma linha é única. PostgreSQL Também oferece DISTINCT ON, que retorna a primeira linha para cada valor distinto de uma expressão especificada. Você pode combinar DISTINCT com ORDER BY para controlar quais linhas aparecem e com LIMIT para limitar o número de resultados.

PostgreSQL Selecione a instrução no SQL Shell

Passo 1) Temos uma tabela chamada "tutoriais" com duas colunas: "id" e "tutorial_name". Vamos consultá-la. Use a seguinte consulta para listar os dados da tabela:

SELECT id,tutorial_name FROM tutorials;

PostgreSQL Selecione a instrução no SQL Shell

OBSERVAÇÃO: Use o comando \c para conectar-se ao banco de dados que contém a tabela que você deseja consultar. No nosso caso, estamos conectados ao banco de dados guru99.

Passo 2) Se você quiser visualizar todas as colunas de uma tabela específica, podemos usar o caractere curinga asterisco (*). Isso significa que ele verifica todas as possibilidades e, como resultado, retornará todas as colunas.

SELECT * FROM tutorials;

PostgreSQL Selecione a instrução no SQL Shell

Exibe todos os registros da tabela de tutoriais.

Passo 3) Você pode usar a cláusula ORDER para classificar dados em uma tabela com base em uma coluna específica. A cláusula ORDER organiza os dados na ordem de A a Z.

SELECT * FROM tutorials ORDER BY id;

PostgreSQL Selecione a instrução no SQL Shell

Você pode classificar de Z a A usando “DESC” após a instrução “ORDER BY”.

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL Selecione a instrução no SQL Shell

Passo 4) O SELECT DISTINCT em PostgreSQL cláusula pode ser usada para remover linhas duplicadas do resultado. Ele mantém uma linha para cada grupo de duplicatas.

Syntax:
SELECT DISTINCT column_1 FROM table_name;

Vamos consultar os valores distintos de ID da nossa tabela no Postgres usando consultas DISTINCT. PostgreSQL:

SELECT DISTINCT(id) FROM tutorials;

PostgreSQL Selecione a instrução no SQL Shell

Passo 5) Você pode usar o PostgreSQL A cláusula LIMIT restringe o número de registros retornados pela consulta SELECT.

SELECT * FROM tutorials LIMIT 4;

PostgreSQL Selecione a instrução no SQL Shell

PostgreSQL Instrução SELECT no pgAdmin

Passo 1) Na árvore de objetos:

  1. Clique com o botão direito do mouse na tabela.
  2. Selecione os scripts.
  3. Clique em SELECIONAR SCRIPT.

PostgreSQL Instrução SELECT no pgAdmin

Passo 2) No painel à direita:

  1. Edite a consulta SELECT, se necessário.
  2. Clique no ícone de raio.
  3. Observe o resultado.

PostgreSQL Instrução SELECT no pgAdmin

DISTINCT em várias colunas

A cláusula SELECT DISTINCT também pode ser aplicada a mais de uma coluna. Quando você lista várias colunas após DISTINCT, PostgreSQL Trata a combinação dessas colunas como uma unidade e remove as linhas onde essa combinação inteira está duplicada.

Syntax:
SELECT DISTINCT column_1, column_2 FROM table_name;

Por exemplo, para retornar as combinações únicas de tutorial_name e id da tabela de tutoriais:

SELECT DISTINCT tutorial_name, id FROM tutorials;

Neste caso, uma linha é removida somente quando tanto o `tutorial_name` quanto o `id` correspondem a outra linha. Se duas linhas compartilham o mesmo `tutorial_name`, mas têm valores de `id` diferentes, ambas são mantidas, pois a combinação ainda é única. É importante lembrar desse comportamento: a função DISTINCT não remove duplicatas de uma única coluna quando várias colunas são selecionadas; ela remove duplicatas de todo o conjunto de colunas selecionadas simultaneamente.

DISTINCT vs GROUP BY em PostgreSQL

Tanto DISTINCT quanto GROUP BY podem remover valores duplicados, mas servem a propósitos diferentes:

  • DISTINCT Retorna simplesmente as linhas únicas do resultado e é a melhor opção quando você precisa apenas de uma lista sem duplicatas.
  • GROUP BY Agrupa linhas que compartilham um valor para que você possa aplicar funções de agregação como COUNT, SUM ou AVG para cada grupo.

Por exemplo, as duas consultas abaixo retornam os valores de ID exclusivos:

SELECT DISTINCT id FROM tutorials;
SELECT id FROM tutorials GROUP BY id;

Use DISTINCT para uma lista simples de valores únicos e GROUP BY quando também precisar de um cálculo por grupo, como contar quantos tutoriais compartilham cada ID. Em consultas simples, o planejador geralmente apresenta desempenho semelhante para ambos, mas GROUP BY é necessário sempre que houver agregação envolvida.

Folha de fraude

SELECT [column names] FROM [table_name] [clause]

Aqui estão os vários parâmetros:

  • nomes das colunas: Nome das colunas cujo valor você deseja recuperar.
  • A PARTIR DE: A cláusula FROM define uma ou mais tabelas de origem para a instrução SELECT.
  • Nome da tabela: O nome de uma tabela existente que você deseja consultar.

Várias cláusulas são:

comandos Descrição
* Recupera os registros de todas as linhas da tabela.
DISTINCT DISTINTO em PostgreSQL Ajuda você a remover duplicados dos resultados.
ORDENAR POR Classifica as linhas com base em uma coluna. A ordem de classificação padrão é crescente. Use a palavra-chave DESC para classificar em ordem decrescente.
LIMITE LIMITE em PostgreSQL restringe o número de registros retornados pela consulta.

Perguntas Frequentes

Sim. Os assistentes de IA podem transformar uma descrição em instruções SELECT DISTINCT, adicionar ORDER BY ou LIMIT e explicar o resultado. Mesmo assim, você deve testar a consulta no seu esquema antes de executá-la em produção.

Sim. As ferramentas de IA podem ler o plano de consulta do EXPLAIN ANALYZE e sugerir índices ou reescrever DISTINCT como GROUP BY. Sempre valide as sugestões com dados reais, pois o desempenho depende do tamanho da tabela e dos índices.

DISTINCT remove linhas duplicadas em todas as colunas selecionadas. DISTINCT ON (expressão) mantém a primeira linha para cada valor distinto dessa expressão, permitindo que você escolha uma linha por grupo, geralmente combinado com ORDER BY.

O comando DISTINCT pode ser mais lento em tabelas grandes porque precisa comparar e remover duplicados, frequentemente usando uma classificação ou hash. Índices adequados e a limitação das colunas selecionadas ajudam a reduzir seu custo.

Resuma esta postagem com: