SQL
SQL Group By vs Distinct
Zoeken…
Verschil tussen GROUP BY en DISTINCT
GROUP BY
wordt gebruikt in combinatie met aggregatiefuncties. Overweeg de volgende tabel:
Order ID | gebruikersnaam | winkel naam | bestellingswaarde | besteldatum |
---|---|---|---|---|
1 | 43 | Winkel A | 25 | 20-03-2016 |
2 | 57 | Winkel B | 50 | 22-03-2016 |
3 | 43 | Winkel A | 30 | 25-03-2016 |
4 | 82 | Winkel C | 10 | 26-03-2016 |
5 | 21 | Winkel A | 45 | 29-03-2016 |
De onderstaande query gebruikt GROUP BY
om geaggregeerde berekeningen uit te voeren.
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;
en geeft de volgende informatie terug
winkel naam | total_nr_orders | nr_unique_customers | average_order_value | eerste bestelling | laatste order |
---|---|---|---|---|---|
Winkel A | 3 | 2 | 33.3 | 20-03-2016 | 29-03-2016 |
Winkel B | 1 | 1 | 50 | 22-03-2016 | 22-03-2016 |
Winkel C | 1 | 1 | 10 | 26-03-2016 | 26-03-2016 |
Terwijl DISTINCT
wordt gebruikt om een unieke combinatie van verschillende waarden weer te geven voor de opgegeven kolommen.
SELECT DISTINCT
storeName,
userId
FROM
orders;
winkel naam | gebruikersnaam |
---|---|
Winkel A | 43 |
Winkel B | 57 |
Winkel C | 82 |
Winkel A | 21 |
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow