SQL
SQL Group By vs Distinct
Sök…
Skillnad mellan GROUP BY och DISTINCT
GROUP BY
används i kombination med aggregeringsfunktioner. Tänk på följande tabell:
OrderID | användar ID | affärsnamn | beställningsvärde | orderdatum |
---|---|---|---|---|
1 | 43 | Store A | 25 | 20-03-2016 |
2 | 57 | Store B | 50 | 22-03-2016 |
3 | 43 | Store A | 30 | 25-03-2016 |
4 | 82 | Store C | 10 | 26-03-2016 |
5 | 21 | Store A | 45 | 29-03-2016 |
Frågan nedan använder GROUP BY
att utföra aggregerade beräkningar.
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;
och kommer att returnera följande information
affärsnamn | total_nr_orders | nr_unique_customers | average_order_value | första beställning | sista beställningen |
---|---|---|---|---|---|
Store A | 3 | 2 | 33,3 | 20-03-2016 | 29-03-2016 |
Store B | 1 | 1 | 50 | 22-03-2016 | 22-03-2016 |
Store C | 1 | 1 | 10 | 26-03-2016 | 26-03-2016 |
Medan DISTINCT
används för att lista en unik kombination av distinkta värden för de angivna kolumnerna.
SELECT DISTINCT
storeName,
userId
FROM
orders;
affärsnamn | användar ID |
---|---|
Store A | 43 |
Store B | 57 |
Store C | 82 |
Store A | 21 |
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow