- leírás
- Mintatábla : megrendelések
- Példa : select with distinct on two columns
- A fenti lekérdezés képi megjelenítése :
- Példa : select with distinct on three columns
- A fenti lekérdezés képi megjelenítése :
- Példa : select with distinct on all columns of the first query
- A fenti lekérdezés képi bemutatása :
- Select with distinct on multiple columns and order by clause
- Count() függvény és select with distinct on multiple columns
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.