SQL SELECT com DISTINCT em múltiplas colunas

author
2 minutes, 14 seconds Read

Descrição

Múltiplos campos também podem ser adicionados com a cláusula DISTINCT. DISTINCT irá eliminar aquelas linhas onde todos os campos selecionados são idênticos.

Aqui está uma consulta simples em algumas colunas selecionadas na tabela de ordens onde agent_code=’A002′

Tabela de amostras: ordens

CódigoSQL:

SELECT agent_code, ord_amount, cust_code, ord_numFROM orders WHERE agent_code='A002';

Saída:

A figura acima mostra o mesmo agent_code, ord_amount e cust_code aparece mais de uma vez na tabela de ordens.

Exemplo : selecione com distinção em duas colunas

Para obter as linhas idênticas (baseadas em duas colunas agent_code e ord_amount) uma vez da tabela de ordens, a seguinte instrução sql pode ser usada :

SQL Code:

SELECT distinct agent_code,ord_amountFROM orders WHERE agent_code='A002';

Output:

Apresentação pictórica da consulta acima :

Exemplo : selecione com distinção em três colunas

Para obter as linhas idênticas (baseadas em três colunas agent_code, ord_amount e cust_code) uma vez da tabela de ‘ordens’, a seguinte instrução sql pode ser usada:

CódigoSQL:

 SELECT distinct agent_code, ord_amount,cust_code FROM orders WHERE agent_code='A002';

Saída:

Apresentação pictórica da consulta acima :

Exemplo : seleccionar com distinção em todas as colunas da primeira consulta

Para obter linhas idênticas (em quatro colunas agent_code, ord_amount, cust_code e ord_num) uma vez da tabela ‘order’ , pode ser utilizada a seguinte instrução sql :

select distinct agent_code,ord_amount,cust_code,ord_num from orders WHERE agent_code='A002';

Output:

Na saída acima, todas as linhas cujo código_agente é ‘A002’ retornaram porque não há linhas idênticas em agent_code, ord_amount, cust_code e ord_num. Veja a seguinte apresentação :

Apresentação pictórica da consulta acima :

Selecionar com distinção em múltiplas colunas e ordenar por cláusula

Pode usar uma ordenação por cláusula na instrução select com distinção em múltiplas colunas. Aqui está um exemplo :

 SELECT distinct agent_code,ord_amount FROM orders WHERE agent_code='A002' order by ord_amount;

Output:

Count() function e selecione com distinção em múltiplas colunas

Pode usar a função count() em um comando select com distinção em múltiplas colunas para contar as linhas distintas. Aqui está um exemplo :

 select count(*) from ( SELECT distinct agent_code, ord_amount,cust_code FROM orders WHERE agent_code='A002');

Output:

Outputs da referida instrução SQL mostrada aqui é tomada usando Oracle Database 10g Express Edition.

Similar Posts

Deixe uma resposta

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