Mostrando entradas con la etiqueta función de agregación. Mostrar todas las entradas
Mostrando entradas con la etiqueta función de agregación. Mostrar todas las entradas

Uso de CASE como si fuese GROUP BY

AUTORA: María González García

Al realizar cálculos sobre agrupaciones de tuplas según los valores de un campo, podemos plantearnos esta cuestión: ¿deberíamos utilizar GROUP BY o CASE?

Aunque GROUP BY es generalmente la opción más directa y eficiente para agrupar y calcular datos, existen situaciones donde CASE puede ofrecer una flexibilidad única y su uso se vuelva necesario. Por otra parte, dicha elección también puede depender de las necesidades visuales o preferencias de formato del resultado a obtener, ya que cada método ofrece una presentación y organización de los datos distinta.

Las funciones de agregación no pueden aparecer en el where

Es habitual encontrarse consultas como la siguiente: hallar los artículos con el precio más bajo de entre los contenidos en una tabla. Para resolverla podríamos tener la tentación de ejecutar un select SQL, que incluye funciones de agregación en el where, y, por tanto, es incorrecta:

Se puede usar case para contar/sumar cosas que cumplan una determinada condición

Aunque la mejor forma de hacer consultas con funciones de agregación (cuenta, suma…) es usando group by, en ocasiones basta con usar una cláusula case dentro de la función de agregación.