- Beschreibung
- Beispieltabelle : orders
- Beispiel: select mit distinct auf zwei Spalten
- Bildliche Darstellung der obigen Abfrage:
- Beispiel: select with distinct on three columns
- Bildliche Darstellung der obigen Abfrage:
- Beispiel : select mit distinct auf allen Spalten der ersten Abfrage
- Bildliche Darstellung der obigen Abfrage :
- Select mit distinct auf mehreren Spalten und order by Klausel
- Funktion count() und select mit distinct auf mehreren Spalten
Beschreibung
Mehrere Felder können auch mit der Klausel DISTINCT hinzugefügt werden. DISTINCT eliminiert diejenigen Zeilen, bei denen alle ausgewählten Felder identisch sind.
Hier ist eine einfache Abfrage auf einige ausgewählte Spalten in der Tabelle orders, wo agent_code=’A002′
Beispieltabelle : orders
SQL Code:
SELECT agent_code, ord_amount, cust_code, ord_numFROM orders WHERE agent_code='A002';
Output:
Das obige Bild zeigt, dass derselbe agent_code, ord_amount und cust_code mehr als einmal in der Tabelle orders erscheint.
Beispiel: select mit distinct auf zwei Spalten
Um die identischen Zeilen (basierend auf zwei Spalten agent_code und ord_amount) einmal aus der Tabelle orders zu erhalten, kann die folgende SQL-Anweisung verwendet werden:
SQL-Code:
SELECT distinct agent_code,ord_amountFROM orders WHERE agent_code='A002';
Ausgabe:
Bildliche Darstellung der obigen Abfrage:
Beispiel: select with distinct on three columns
Um die identischen Zeilen (basierend auf den drei Spalten agent_code, ord_amount und cust_code) einmal aus der Tabelle „orders“ zu erhalten, kann die folgende SQL-Anweisung verwendet werden:
SQL Code:
SELECT distinct agent_code, ord_amount,cust_code FROM orders WHERE agent_code='A002';
Ausgabe:
Bildliche Darstellung der obigen Abfrage:
Beispiel : select mit distinct auf allen Spalten der ersten Abfrage
Um die identischen Zeilen (auf vier Spalten agent_code, ord_amount, cust_code und ord_num) einmal aus der Tabelle ‚orders‘ zu erhalten, kann die folgende SQL-Anweisung verwendet werden :
select distinct agent_code,ord_amount,cust_code,ord_num from orders WHERE agent_code='A002';
Ausgabe:
In der obigen Ausgabe wurden alle Zeilen, deren agent_code ‚A002‘ ist, zurückgegeben, da es keine identischen Zeilen für agent_code, ord_amount, cust_code und ord_num gibt. Siehe folgende Darstellung :
Bildliche Darstellung der obigen Abfrage :
Select mit distinct auf mehreren Spalten und order by Klausel
Sie können eine order by Klausel in der select Anweisung mit distinct auf mehreren Spalten verwenden. Here is an example :
SELECT distinct agent_code,ord_amount FROM orders WHERE agent_code='A002' order by ord_amount;
Ausgabe:
Funktion count() und select mit distinct auf mehreren Spalten
Sie können die Funktion count() in einer select-Anweisung mit distinct auf mehreren Spalten verwenden, um die verschiedenen Zeilen zu zählen. Here is an example :
select count(*) from ( SELECT distinct agent_code, ord_amount,cust_code FROM orders WHERE agent_code='A002');
Ausgabe:
Die hier gezeigte Ausgabe der SQL-Anweisung wurde mit Oracle Database 10g Express Edition erstellt.