sql >> Base de Datos >  >> RDS >> Database

¿Cuál es el uso de la instrucción SQL GROUP BY?

Cuando hay una gran cantidad de datos, a menudo vemos la posibilidad de manipularlos de acuerdo con nuestros requisitos. La cláusula GROUP BY es una de esas declaraciones en SQL, que se utiliza para agrupar los datos en función de unas pocas columnas o de condiciones. En este artículo sobre la instrucción SQL GROUP BY, analizaré algunas formas de usar las instrucciones GROUP BY en la siguiente secuencia:

  1. Declaración GROUP BY
  2. Sintaxis
  3. Ejemplos:
    • Utilice GROUP BY en una sola columna
    • AGRUPAR POR en varias columnas
    • Utilice GROUP BY con ORDER BY
    • GROUP BY con cláusula HAVING
    • Utilice GROUP BY con JOINS

Antes de pasar a los ejemplos sobre cómo usar la cláusula GROUP BY, comprendamos qué es GROUP BY en SQL y su sintaxis.

Sentencia SQL GROUP BY

Esta declaración se usa para agrupar registros que tienen los mismos valores. La declaración GROUP BY se usa a menudo con las funciones agregadas para agrupar los resultados por una o más columnas. Aparte de esto, la cláusula GROUP BY también se usa con la cláusula HAVING y JOINS para agrupar el conjunto de resultados según las condiciones.

Sintaxis de SQL GROUP BY

SELECT Column1, Column2,..., ColumnN
FROM TableName
WHERE Condition
GROUP BY ColumnName(s)
ORDER BY ColumnName(s);

Aquí, puede agregar las funciones agregadas antes de los nombres de las columnas, y también una cláusula HAVING al final de la declaración para mencionar una condición. A continuación, en este artículo sobre SQL GROUP BY, comprendamos cómo implementar esta instrucción.

Ejemplos:

Para su mejor comprensión, he dividido los ejemplos en las siguientes secciones:

    • Utilice GROUP BY en una sola columna
    • AGRUPAR POR en varias columnas
    • Utilice GROUP BY con ORDER BY
    • GROUP BY con cláusula HAVING
    • Utilice GROUP BY con JOINS

Voy a considerar la siguiente tabla para explicarte los ejemplos:

EmpID NombreEmp EmpEmail Número de teléfono Salario Ciudad

1

Nidhi

[email protected]

9955669999

50000

Mumbai

2

Anay

[email protected]

9875679861

55000

Pune

3

Raúl

[email protected]

9876543212

35000

Delhi

4

Sonia

[email protected]

9876543234

35000

Delhi

5

Akash

[email protected]

9866865686

25000

Mumbai

Echemos un vistazo a cada uno de ellos.

Usar SQL GROUP BY en una sola columna

Ejemplo:

Escribe una consulta para recuperar el número de empleados en cada ciudad.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City;

Salida:

Verá el siguiente resultado:

Cuenta(EmpID) Ciudad

2

Delhi

2

Mumbai

1

Pune

Usar SQL GROUP BY en múltiples columnas

Ejemplo:

Escribe una consulta para recuperar el número de empleados que tienen diferentes salarios en cada ciudad.

SELECT City, Salary, Count(*)
FROM Employees
GROUP BY City, Salary;

Salida:

La tabla tendrá los siguientes datos:

Ciudad Salario Recuento(*)

Delhi

35000

2

Mumbai

25000

1

Mumbai

50000

1

Pune

55000

1

Usar SQL GROUP BY con ORDER BY

Cuando usamos la declaración SQL GROUP BY con la cláusula ORDER BY, los valores se ordenan en orden ascendente o descendente.

Ejemplo:

Escribe una consulta para recuperar el número de empleados en cada ciudad, ordenados en orden descendente.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
ORDER BY COUNT(EmpID) DESC;

Salida:

La tabla tendrá los siguientes datos:

Cuenta(EmpID) Ciudad

2

Delhi

2

Mumbai

1

Pune

Usar SQL GROUP BY con cláusula HAVING

La instrucción SQL GROUP BY se usa con la cláusula 'HAVING' para mencionar condiciones en grupos. Además, dado que no podemos usar las funciones agregadas con la cláusula WHERE, tenemos que usar la cláusula 'HAVING' para usar las funciones agregadas con GROUP BY.

Ejemplo:

Escribe una consulta para recuperar el número de empleados en cada ciudad, con salario> 15000

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
HAVING SALARY > 15000;

Salida:

Dado que todos los registros en la tabla Empleado tienen un salario> 15000, veremos la siguiente tabla como salida:

Cuenta(EmpID) Ciudad

2

Delhi

2

Mumbai

1

Pune

Utilice GROUP BY con JOINS

JOINS son instrucciones SQL que se usan para combinar filas de dos o más tablas, en función de una columna relacionada entre esas tablas. Podemos usar la instrucción SQL GROUP BY para agrupar el conjunto de resultados en función de una columna/columnas. Considere las siguientes tablas para ejecutar las sentencias JOIN con la cláusula SQL GROUP BY.

Tabla de proyectos:

ID del proyecto EmpID ID de cliente FechaProyecto
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Tabla de Clientes:

ID de cliente Nombre del cliente

4

Sanjana

5

Rohan

6

Arun

Ejemplo

Escribe una consulta para listar el número de proyectos solicitados por cada cliente:

SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects
LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID
GROUP BY ClientName;

Salida:

La tabla tendrá los siguientes datos:

Nombre del cliente Proyectos solicitados

Arun

1

Rohan

1

Sanjana

1

Con eso, llegamos al final del artículo SQL GROUP BY. Mira esto Capacitación en certificación MySQL DBA de Edureka, una empresa de aprendizaje en línea de confianza con una red de de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Este curso lo capacita en los conceptos básicos y las herramientas y técnicas avanzadas para administrar datos y administrar la base de datos MySQL. Incluye aprendizaje práctico sobre conceptos como MySQL Workbench, servidor MySQL, modelado de datos, conector MySQL, diseño de bases de datos, línea de comandos MySQL, funciones MySQL, etc. Al final de la capacitación, podrá crear y administrar su propia base de datos MySQL y administrar datos.

¿Tiene alguna pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo "SQL GROUP BY" y nos pondremos en contacto con usted lo antes posible.