sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es posible usar la función Agregar en una instrucción Seleccionar sin usar la cláusula Agrupar por?

Todas las columnas en la cláusula SELECT que no tienen un agregado deben estar en GROUP BY

Bien:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3

También bueno:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6

No hay otras columnas =no se necesita GROUP BY

SELECT MAX(col4)
...

No funcionará:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2

Sin sentido:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)

Tener un agregado (MAX, etc.) con otras columnas sin GROUP BY no tiene sentido porque la consulta se vuelve ambigua.