Grupo mysql por cláusula y función de recuento

Grupo mysql por cláusula y función de recuento
Los datos se pueden recuperar de las tablas de la base de datos MySQL utilizando la consulta SELECT de diferentes maneras. En general, el grupo por cláusula se usa con la consulta de selección para recuperar el conjunto de records agrupando uno o más valores de columna. Muchas funciones agregadas de MySQL también se usan con el grupo por cláusula para leer datos de la tabla, como count (), max (), min (), avg (), etc. Los usos del grupo por cláusula con o sin la función count () se han discutido en este tutorial.

Grupo por cláusula:

Se utiliza principalmente para obtener el resumen de los datos de la tabla basados ​​en las columnas de la tabla. La sintaxis de esta cláusula se proporciona a continuación:

Sintaxis:
Seleccionar declaraciones ..
Grupo por columna1 [, columna2, ...];

La consulta de selección recuperará los datos de las tablas en función de los nombres de la columna definidos con el grupo por cláusula.

Count () función:

Esta función cuenta el número total de registros devueltos ejecutando la consulta de selección. Devuelve un valor de Bigint cuando la consulta devuelve uno o más registros. De lo contrario, se vuelve a hacer 0. Se proporciona la sintaxis de la función count (). Esta función se puede usar de tres formas diferentes que se explican a continuación:

  1. CONTAR(*)
    Se utiliza para contar el número total de filas devueltas por la consulta de selección contando valores nulos, no nulos y duplicados.
  2. Contar (expresión)
    Se utiliza para contar el número total de filas devueltas por la consulta de selección sin contar los valores nulos.
  3. Contar (expresión distinta)
    Se utiliza para contar el número total de filas devueltas por la consulta de selección sin contar los valores nulos y los valores duplicados.

Usos de la función de grupo por cláusula y count ():

Debe crear una tabla de base de datos con datos en una base de datos MySQL para verificar el grupo en MySQL. Abra el terminal y conéctese con el servidor MySQL ejecutando el siguiente comando:

$ sudo mysql -u root

Ejecute el siguiente comando para crear una base de datos llamada test_db:

Crear base de datos test_db;

Ejecute el siguiente comando para seleccionar la base de datos:

Usar test_db;

Ejecute la siguiente consulta para crear una tabla llamada Sales_persons con cuatro campos:

Crear tabla sales_persons (
ID int Auto_Increment Key primario,
Nombre Varchar (30) No nulo,
Envíe un correo electrónico a Varchar (50),
contact_no varchar (30));

Ejecute la siguiente consulta para insertar los tres registros en el ventas_person mesa:

Insertar en 'Sales_persons' ('id', 'nombre', 'correo electrónico', 'contact_no') valores (nulo, 'kamal Hasan', '[email protected] ',' 0191275634 '),
(NULL, 'Nila Hossain', '[email protected] ',' 01855342357 '),
(NULL, 'Abir Hossain', '[email protected] ',' 01634235698 ');

Ejecute la siguiente consulta para crear una tabla llamada ventas con cuatro campos que contiene una clave extranjera que creará la relación de uno a muchos de los Sales_persons mesa al ventas mesa.

Crear ventas de mesa (
ID int no la clave primaria nula,
Sales_date fecha no nula,
cantidad int,
sp_id int,
Restricción FK_SP Clave externa (SP_ID)
Referencias Sales_persons (ID)
En Eliminar Cascade en actualización Cascade);

Ejecute la siguiente consulta para insertar cuatro registros en el ventas mesa.

Insertar en 'ventas' ('id', 'sales_date', 'cantidad', 'sp_id') valores
('90', '2021-11-09', '800000', '1'),
('34', '2020-12-15', '5634555', '3'),
('67', '2021-12-23', '900000', '1'),
('56', '2020-12-31', '6700000', '1');

Ejemplo 1: Uso del grupo por cláusula con una sola columna

Ejecute la siguiente consulta de selección para conocer la identificación y el nombre de los vendedores que tienen registros en el ventas mesa. La identificación del vendedor se utiliza para agruparse en el grupo por cláusula. Según el contenido de la tabla de ventas, la tabla de ventas contiene los registros de los dos vendedores que se imprimirán en la salida:

Seleccione SP_ID como ID, Sales_persons.Nombre como 'vendedor'
De sales_persons, ventas
Donde sales_persons.ID = ventas.sp_id
Grupo por sp_id;

Producción:

La siguiente salida aparecerá después de ejecutar la consulta anterior:

Ejemplo 2: Uso del grupo por cláusula con múltiples columnas

El uso del grupo por cláusula con dos columnas se ha mostrado en la siguiente consulta de selección. El vendedor nombra que tienen una entrada en el ventas mesa para el Noviembre El mes se imprimirá en la salida después de ejecutar la consulta. Solo hay una entrada para el Noviembre mes en el ventas mesa:

Seleccione SP_ID como ID, Sales_persons.Nombre como 'vendedor'
De sales_persons, ventas
Donde sales_persons.ID = ventas.SP_ID y MonthName (sales_date) = 'noviembre'
Grupo de SP_ID, MonthName (Sales_Date);

Producción:

La siguiente salida aparecerá después de ejecutar la consulta anterior:

Ejemplo 3: Uso del grupo por cláusula con la función de recuento (*)

Los usos de la función de recuento (*) con la cláusula de grupo por cláusula se han mostrado en la siguiente consulta. El número total de ventas se contará de cada vendedor se imprimirá después de ejecutar la consulta:

Seleccionar sales_persons.Nombre como 'Vendedor', Count (*)
De sales_persons, ventas
Donde sales_persons.ID = ventas.sp_id
Grupo por sp_id;

Producción:

Según los datos del ventas Tabla, aparecerá la siguiente salida después de ejecutar la consulta previa a la vista:

Ejemplo 4: Uso del grupo por cláusula con la función Count (Expression)

Los usos de la función de recuento (expresión) con el grupo por cláusula se han mostrado en la siguiente consulta. El número total de ventas basado en el nombre del mes se contará después de realizar la consulta:

Seleccionar Nombre de mensajería (ventas.sales_date) como 'mes', recuento (mes (ventas.sales_date)) como 'número de ventas'
De las ventas
Grupo por MonthName (ventas.sales_date);

Producción:

Según los datos del ventas Tabla, aparecerá la siguiente salida después de ejecutar la consulta previa a la vista:

Ejemplo 5: Uso del grupo por cláusula con el recuento (expreso distinto)

La función de recuento (expresión) con el grupo por cláusula se ha utilizado en la siguiente que-ry para contar el número total de ventas en función del nombre del mes y la identificación del vendedor:

Seleccione SP_ID como 'ID de persona de ventas', MonthName (Sales_Date) como mes, cuenta (sp_id) como 'ventas totales'
De las ventas
Grupo por MonthName (Sales_Date), sp_id;

Producción:

Según los datos del ventas Tabla, aparecerá la siguiente salida después de ejecutar la consulta previa a la vista:

El recuento (expresión distinta) se usa en la siguiente consulta para determinar las ventas únicas en función del nombre del mes y la identificación de la persona de venta:

Seleccione SP_ID como 'ID de persona de ventas', MonthName (Sales_Date) como mes, recuento (distinto sp_id) como 'ventas únicas encontradas'
De las ventas
Grupo por MonthName (Sales_Date), sp_id;

Producción:

Según los datos del ventas Tabla, aparecerá la siguiente salida después de ejecutar la consulta previa a la vista:

Conclusión:

Los usos simples del grupo por cláusula y el grupo por cláusula con la función count () que se muestra en este tutorial Use múltiples consultas selectas. El propósito de usar el grupo por cláusula será claro después de leer este tutorial. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.