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