SQL
Grupo SQL por vs distinto
Buscar..
Diferencia entre GROUP BY y DISTINCT
GROUP BY
se utiliza en combinación con funciones de agregación. Considere la siguiente tabla:
Solicitar ID | ID de usuario | nombre de la tienda | valor del pedido | fecha de orden |
---|---|---|---|---|
1 | 43 | Tienda A | 25 | 20-03-2016 |
2 | 57 | Tienda B | 50 | 22-03-2016 |
3 | 43 | Tienda A | 30 | 25-03-2016 |
4 | 82 | Tienda c | 10 | 26-03-2016 |
5 | 21 | Tienda A | 45 | 29-03-2016 |
La siguiente consulta utiliza GROUP BY
para realizar cálculos agregados.
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;
y devolverá la siguiente información
nombre de la tienda | total_nr_orders | nr_unique_customers | valor_ordenamiento_medio | primer orden | último pedido |
---|---|---|---|---|---|
Tienda A | 3 | 2 | 33.3 | 20-03-2016 | 29-03-2016 |
Tienda B | 1 | 1 | 50 | 22-03-2016 | 22-03-2016 |
Tienda c | 1 | 1 | 10 | 26-03-2016 | 26-03-2016 |
Mientras que DISTINCT
se usa para enumerar una combinación única de valores distintos para las columnas especificadas.
SELECT DISTINCT
storeName,
userId
FROM
orders;
nombre de la tienda | ID de usuario |
---|---|
Tienda A | 43 |
Tienda B | 57 |
Tienda c | 82 |
Tienda A | 21 |
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow