SQL SELECT s DISTINCT na více sloupců

author
2 minutes, 22 seconds Read

Popis

Více polí lze také přidat pomocí klauzule DISTINCT. DISTINCT vyřadí ty řádky, kde jsou všechna vybraná pole shodná.

Tady je jednoduchý dotaz na některé vybrané sloupce v tabulce objednávek, kde agent_code=’A002′

Vzorová tabulka : objednávky

SQL kód:

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

Výstup:

Výše uvedený obrázek ukazuje, že stejný agent_code, ord_amount a cust_code se v tabulce objednávek vyskytuje vícekrát.

Příklad : select with distinct na dvou sloupcích

Pro získání stejných řádků (na základě dvou sloupců agent_code a ord_amount) jednou z tabulky orders ,lze použít následující sql příkaz :

SQL kód:

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

Výstup:

Obrázkové znázornění výše uvedeného dotazu :

Příklad : select with distinct na třech sloupcích

Pro získání stejných řádků (na základě tří sloupců agent_code, ord_amount a cust_code) jednou z tabulky „orders“ ,lze použít následující sql příkaz :

SQL kód:

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

Výstup:

Obrázkové znázornění výše uvedeného dotazu :

Příklad : select s distinct na všechny sloupce prvního dotazu

Pro získání stejných řádků (na základě čtyř sloupců agent_code, ord_amount, cust_code a ord_num) jednou z tabulky ‚orders‘ ,lze použít následující sql příkaz :

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

Výstup:

Ve výše uvedeném výstupu byly vráceny všechny řádky, jejichž agent_code je ‚A002‘, protože neexistuje žádný shodný řádek na agent_code, ord_amount, cust_code a ord_num. Viz následující prezentace :

Obrázková prezentace výše uvedeného dotazu :

Výběr s distinct na více sloupcích a klauzulí order by

V příkazu select s distinct na více sloupcích můžete použít klauzuli order by. Zde je příklad :

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

Výstup:

Funkce count() a select s distinct na více sloupcích

V příkazu select s distinct na více sloupcích můžete použít funkci count(), která spočítá odlišné řádky. Zde je příklad :

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

Výstup:

Výstupy uvedeného příkazu SQL, které jsou zde uvedeny, jsou pořízeny pomocí Oracle Database 10g Express Edition.

.

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.