- Descriere
- Tabel de probă: orders
- Exemplu : select with distinct on two columns
- Prezentare picturală a interogării de mai sus :
- Exemplu : select with distinct on three columns
- Prezentare picturală a interogării de mai sus :
- Exemplu : select with distinct pe toate coloanele din prima interogare
- Prezentare picturală a interogării de mai sus :
- Select with distinct on multiple columns and order by clause
- Funcția count() și select cu distinct pe mai multe coloane
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.
.