- Descrição
- Tabela de amostras: ordens
- Exemplo : selecione com distinção em duas colunas
- Apresentação pictórica da consulta acima :
- Exemplo : selecione com distinção em três colunas
- Apresentação pictórica da consulta acima :
- Exemplo : seleccionar com distinção em todas as colunas da primeira consulta
- Apresentação pictórica da consulta acima :
- Selecionar com distinção em múltiplas colunas e ordenar por cláusula
- Count() function e selecione com distinção em múltiplas colunas
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.