- Opis
- Przykładowa tabela : orders
- Przykład: select z distinct na dwóch kolumnach
- Obrazowa prezentacja powyższego zapytania :
- Przykład : select with distinct on three columns
- Obrazowa prezentacja powyższego zapytania :
- Przykład: select z distinct na wszystkich kolumnach pierwszego zapytania
- Obrazowa prezentacja powyższego zapytania :
- Select z distinct na wielu kolumnach i klauzulą order by
- Funkcja count() i select z distinct na wielu kolumnach
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.