SQL SELECT cu DISTINCT pe mai multe coloane

author
2 minutes, 14 seconds Read

Descriere

Câmpurile multiple pot fi, de asemenea, adăugate cu clauza DISTINCT. DISTINCT va elimina acele rânduri în care toate câmpurile selectate sunt identice.

Iată o interogare simplă pe câteva coloane selectate în tabelul orders unde agent_code=’A002′

Tabel de probă: orders

Cod SQL:

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

Succes:

Imaginea de mai sus arată că același agent_code, ord_amount și cust_code apare de mai multe ori în tabelul orders.

Exemplu : select with distinct on two columns

Pentru a obține rândurile identice (pe baza a două coloane agent_code și ord_amount) o singură dată din tabelul orders ,se poate folosi următoarea instrucțiune sql :

Cod SQL:

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

Succes:

Prezentare picturală a interogării de mai sus :

Exemplu : select with distinct on three columns

Pentru a obține rândurile identice (pe baza celor trei coloane agent_code, ord_amount și cust_code) o singură dată din tabelul ‘orders’ ,se poate utiliza următoarea instrucțiune sql :

Cod SQL:

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

Imprimare:

Prezentare picturală a interogării de mai sus :

Exemplu : select with distinct pe toate coloanele din prima interogare

Pentru a obține rândurile identice (pe patru coloane agent_code, ord_amount, cust_code și ord_num) o singură dată din tabelul ‘orders’ ,se poate folosi următoarea instrucțiune sql :

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

Succes:

În rezultatul de mai sus, toate rândurile al căror cod_agent este ‘A002’ au fost returnate deoarece nu există rânduri identice pe cod_agent, sumă_ordine, cod_client și număr_ordine. Consultați următoarea prezentare :

Prezentare picturală a interogării de mai sus :

Select with distinct on multiple columns and order by clause

Puteți utiliza o clauză order by în instrucțiunea select cu distinct on multiple columns. Iată un exemplu :

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

Ieșire:

Funcția count() și select cu distinct pe mai multe coloane

Puteți utiliza funcția count() într-o instrucțiune select cu distinct pe mai multe coloane pentru a număra rândurile distincte. Iată un exemplu :

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

Succes:

Succesele declarației SQL menționate aici sunt obținute folosind Oracle Database 10g Express Edition.

.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată.