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.
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;
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;
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;
Você pode classificar de Z a A usando “DESC” após a instrução “ORDER BY”.
SELECT * FROM tutorials ORDER BY id DESC;
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;
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 Instrução SELECT no pgAdmin
Passo 1) Na árvore de objetos:
- Clique com o botão direito do mouse na tabela.
- Selecione os scripts.
- Clique em SELECIONAR SCRIPT.
Passo 2) No painel à direita:
- Edite a consulta SELECT, se necessário.
- Clique no ícone de raio.
- Observe o resultado.
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. |









