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. |








