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