SQL
SQL Group By vs. Distinct
Suche…
Unterschied zwischen GROUP BY und DISTINCT
GROUP BY
wird in Kombination mit Aggregationsfunktionen verwendet. Betrachten Sie die folgende Tabelle:
Auftragsnummer | Benutzeridentifikation | storeName | Bestellwert | Auftragsdatum |
---|---|---|---|---|
1 | 43 | Speichern Sie A | 25 | 20-03-2016 |
2 | 57 | Speicher B | 50 | 22-03-2016 |
3 | 43 | Speichern Sie A | 30 | 25-03-2016 |
4 | 82 | Speichern Sie C | 10 | 26-03-2016 |
5 | 21 | Speichern Sie A | 45 | 29-03-2016 |
Die folgende Abfrage verwendet GROUP BY
, um aggregierte Berechnungen durchzuführen.
SELECT
storeName,
COUNT(*) AS total_nr_orders,
COUNT(DISTINCT userId) AS nr_unique_customers,
AVG(orderValue) AS average_order_value,
MIN(orderDate) AS first_order,
MAX(orderDate) AS lastOrder
FROM
orders
GROUP BY
storeName;
und gibt die folgenden Informationen zurück
storeName | total_nr_orders | nr_unique_customers | average_order_value | erste Bestellung | letzte Bestellung |
---|---|---|---|---|---|
Speichern Sie A | 3 | 2 | 33.3 | 20-03-2016 | 29-03-2016 |
Speicher B | 1 | 1 | 50 | 22-03-2016 | 22-03-2016 |
Speichern Sie C | 1 | 1 | 10 | 26-03-2016 | 26-03-2016 |
DISTINCT
wird verwendet, um eine eindeutige Kombination verschiedener Werte für die angegebenen Spalten aufzulisten.
SELECT DISTINCT
storeName,
userId
FROM
orders;
storeName | Benutzeridentifikation |
---|---|
Speichern Sie A | 43 |
Speicher B | 57 |
Speichern Sie C | 82 |
Speichern Sie A | 21 |
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow