SQL SELECT DISTINCT-tel több oszlopon

author
2 minutes, 26 seconds Read

leírás

A DISTINCT záradékkal több mező is megadható. A DISTINCT kizárja azokat a sorokat, ahol a kiválasztott mezők mindegyike azonos.

Itt egy egyszerű lekérdezés a megrendelések tábla néhány kiválasztott oszlopára, ahol agent_code=’A002′

Mintatábla : megrendelések

SQL kód:

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

Kimenet:

A fenti képen látható, hogy ugyanaz az agent_code, ord_amount és cust_code többször is megjelenik a megrendelések táblában.

Példa : select with distinct on two columns

Az azonos sorok (a két oszlop alapján agent_code és ord_amount) egyszeri kinyeréséhez a orders táblából ,a következő sql utasítás használható :

SQL kód:

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

Kimenet:

A fenti lekérdezés képi megjelenítése :

Példa : select with distinct on three columns

Az azonos sorok (a három oszlop alapján agent_code, ord_amount és cust_code) egyszeri kinyeréséhez a ‘orders’ táblából ,a következő sql utasítás használható :

SQL kód:

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

Kimenet:

A fenti lekérdezés képi megjelenítése :

Példa : select with distinct on all columns of the first query

Az azonos sorok (a négy oszlop alapján agent_code, ord_amount, cust_code és ord_num) egyszeri kinyeréséhez a ‘orders’ táblából ,a következő sql utasítás használható :

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

Kimenet:

A fenti kimeneten az összes olyan sor visszakerült, amelynek agent_code-ja ‘A002’, mivel nincs azonos sor az agent_code, ord_amount, cust_code és ord_num értékeken. Lásd a következő bemutatót :

A fenti lekérdezés képi bemutatása :

Select with distinct on multiple columns and order by clause

A select utasításban használhat order by záradékot, ha több oszlopon distinct van. Íme egy példa :

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

Kimenet:

Count() függvény és select with distinct on multiple columns

A count() függvényt használhatja a több oszlopon distinct-t tartalmazó select utasításban a különböző sorok megszámlálásához. Íme egy példa :

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

Kimenet:

Az itt látható SQL utasítás kimenetei az Oracle Database 10g Express Edition használatával készültek.

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.