sql - team - ¿Cómo funciona GROUP BY?
tfs 2018 update 1 (3)
GROUP BY
agrupa todos los registros idénticos.
SELECT COUNT(ItemID), City
FROM Orders
GROUP BY City;
----------------------------------------
13 Sacrmento
23 Dallas
87 Los Angeles
5 Phoenix
Si no agrupa por City
, solo mostrará el recuento total de ItemID
.
Supongamos que tengo una tabla Tab1
con atributos - a1
, a2
, ... etc. Ninguno de los atributos es único.
¿Cuál será la naturaleza de la siguiente consulta? ¿Devolverá una sola fila siempre?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
GROUP BY
devuelve una fila para cada combinación única de campos en la cláusula GROUP BY
. Para garantizar solo una fila, debe usar una función agregada ( COUNT
, SUM
, MAX
) sin una cláusula GROUP BY
.
GROUP BY
devuelve una sola fila para cada combinación única de los campos GROUP BY
. Por lo tanto, en su ejemplo, cada combinación distinta de (a1, a2)
produce en filas de Tab1
da Tab1
resultado una fila en la consulta que representa el grupo de filas con la combinación dada de grupos por valores de campo. Las funciones de agregado como SUM()
se calculan sobre los miembros de cada grupo.