la instrucción GROUP BY en SQL se utiliza para organizar datos idénticos en grupos con la ayuda de algunas funciones. es decir, si una columna en particular tiene los mismos valores en filas diferentes, organizará estas filas en un grupo.

puntos importantes:

  • La cláusula GROUP BY se utiliza con la instrucción SELECT.
  • en la consulta, la cláusula GROUP BY se coloca después de la cláusula WHERE.
  • en la consulta, la cláusula GROUP BY se coloca antes de la cláusula ORDER BY si se usa alguna.,

Sintaxis:

Ejemplo de Tabla:

Empleado

Estudiante

Ejemplo:

  • Grupo Por una sola columna: Grupo de una sola columna, para colocar todas las filas con el mismo valor de esa columna en particular en un grupo., Considere la consulta como se muestra a continuación:
    SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;

    la consulta anterior producirá la siguiente salida:

    Como puede ver en la salida anterior, las filas con nombres duplicados se agrupan bajo el mismo nombre y su salario correspondiente es la suma del salario de las filas duplicadas. La función sum () de SQL se utiliza aquí para calcular la suma.

  • Agrupar por varias columnas: Agrupar por varias columnas es decir, por ejemplo, Agrupar por Columna1, Columna2., Esto significa colocar todas las filas con los mismos valores de las columnas column1 y column2 en un grupo. Considere la siguiente consulta:
    SELECT SUBJECT, YEAR, Count(*)FROM StudentGROUP BY SUBJECT, YEAR;

    salida:

    Como puede ver en la salida anterior, los estudiantes con la misma asignatura y año se colocan en el mismo grupo. Y aquellos cuyo único tema es el mismo pero no el año pertenece a grupos diferentes. Así que aquí hemos agrupado la tabla de acuerdo a dos columnas o más de una columna.,

HAVING Clause

sabemos que la cláusula WHERE se usa para colocar condiciones en columnas, pero ¿qué pasa si queremos colocar condiciones en grupos?

Aquí es donde la cláusula HAVING entra en uso. Podemos usar la cláusula HAVING para colocar condiciones para decidir qué grupo será la parte del conjunto de resultados finales. Tampoco podemos usar las funciones agregadas como SUM (), COUNT (), etc. con la cláusula WHERE. Así que tenemos que usar la cláusula HAVING si queremos usar cualquiera de estas funciones en las condiciones.,

sintaxis:

ejemplo:

SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAMEHAVING SUM(SALARY)>3000; 

salida:

Como puede ver en la salida anterior, solo aparece un grupo de los tres grupos en el conjunto de resultados, ya que es solo grupo donde la suma del salario es mayor que 3000. Así que hemos utilizado la cláusula HAVING aquí para colocar esta condición, ya que la condición se requiere que se coloque en grupos y no en columnas.

Este artículo es contribuido por Harsh Agarwal. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contribute.geeksforgeeks.,org o envíe su artículo a [email protected]. vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.