Saltar al contenido

¿Qué significa la cláusula SQL “GROUP BY 1”?

Solución:

Significa agrupar por la primera columna independientemente de cómo se llame. Puedes hacer lo mismo con ORDER BY.

SELECT account_id, open_emp_id
         ^^^^        ^^^^
          1           2

FROM account
GROUP BY 1;

En la consulta anterior GROUP BY 1 se refiere a first column in select statement cual es
account_id.

También puede especificar en ORDER BY.

Nota: El número en ORDER BY y GROUP BY siempre comienza con 1 y no con 0.

Además de agrupar por nombre de campo, también puede agrupar por ordinal o posición del campo dentro de la tabla. 1 corresponde al primer campo (independientemente del nombre), 2 es el segundo y así sucesivamente.

Por lo general, esto no es aconsejable si está agrupando en algo específico, ya que la estructura de la tabla / vista puede cambiar. Además, puede ser difícil comprender rápidamente qué está haciendo su consulta SQL si no ha memorizado los campos de la tabla.

Si está devolviendo un conjunto único o realizando rápidamente una búsqueda temporal, esta es una buena sintaxis abreviada para reducir la escritura. Si planea ejecutar la consulta nuevamente en algún momento, le recomiendo reemplazarlas para evitar futuras confusiones y complicaciones inesperadas (debido a cambios en el esquema).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *