SQL SELECT z DISTINCT na wielu kolumnach

author
2 minutes, 6 seconds Read

Opis

Wiele pól może być również dodanych z klauzulą DISTINCT. DISTINCT wyeliminuje te wiersze, w których wszystkie wybrane pola są identyczne.

Tutaj znajduje się proste zapytanie do wybranych kolumn w tabeli orders where agent_code=’A002′

Przykładowa tabela : orders

Kod źródłowy:

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

Wyjście:

Powyższy obrazek pokazuje, że ten sam agent_code, ord_amount i cust_code pojawia się więcej niż raz w tabeli orders.

Przykład: select z distinct na dwóch kolumnach

Aby uzyskać identyczne wiersze (na podstawie dwóch kolumn agent_code i ord_amount) z tabeli zamówień, można użyć następującej instrukcji sql :

Kod SQL:

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

Wyjście:

Obrazowa prezentacja powyższego zapytania :

Przykład : select with distinct on three columns

Aby uzyskać identyczne wiersze (na podstawie trzech kolumn agent_code, ord_amount i cust_code) raz z tabeli 'orders’, można użyć następującej instrukcji sql :

Kod NUTS:

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

Wyjście:

Obrazowa prezentacja powyższego zapytania :

Przykład: select z distinct na wszystkich kolumnach pierwszego zapytania

Aby uzyskać identyczne wiersze (na podstawie czterech kolumn agent_code, ord_amount, cust_code i ord_num) raz z tabeli 'zamówienia’, można użyć następującej instrukcji sql :

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

Wynik:

W powyższym wyniku zwrócone zostały wszystkie wiersze, których kod agenta to 'A002′, ponieważ nie ma identycznych wierszy w kolumnach agent_code, ord_amount, cust_code i ord_num. Zobacz następującą prezentację :

Obrazowa prezentacja powyższego zapytania :

Select z distinct na wielu kolumnach i klauzulą order by

Możesz użyć klauzuli order by w instrukcji select z distinct na wielu kolumnach. Oto przykład :

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

Output:

Funkcja count() i select z distinct na wielu kolumnach

Możesz użyć funkcji count() w instrukcji select z distinct na wielu kolumnach, aby policzyć wiersze distinct. Oto przykład :

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

Wyniki:

Wyniki wspomnianej instrukcji SQL pokazane tutaj zostały pobrane przy użyciu Oracle Database 10g Express Edition.

Similar Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.