En SQL, a veces necesitamos encontrar el valor promedio de una columna en función de otra columna de la tabla, como encontrar las calificaciones promedio por materia obtenidas por los estudiantes de una clase. Esto implica el uso de la cláusula GROUP BY junto con la función AGGREGATE como AVG . Lo mismo se muestra en el siguiente artículo. Para esto, usamos un tipo específico de consulta que se muestra en la siguiente demostración. Para este artículo, utilizaremos Microsoft SQL Server como nuestra base de datos.
Paso 1: crear una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksForGeeks.
Consulta:
CREATE DATABASE GeeksForGeeks
Producción:
Paso 2: use la base de datos GeeksForGeeks. Para esto, use el siguiente comando.
Consulta:
USE GeeksForGeeks
Producción:
Paso 3: Cree una tabla de STDMARKS dentro de la base de datos GeeksForGeeks. Esta tabla tiene 4 columnas, a saber, ROLL_NO, STUDENT_NAME, SUBJECT y MARKS que contienen el número de lista y el nombre de los estudiantes y el nombre de la materia y las calificaciones obtenidas por el estudiante en la materia respectiva.
Consulta:
CREATE TABLE STDMARKS( ROLL_NO INT, STUDENT_NAME VARCHAR(10), SUBJECT VARCHAR(10), MARKS INT);
Producción:
Paso 4: Describa la estructura de la tabla STDMARKS.
Consulta:
EXEC SP_COLUMNS STDMARKS;
Producción:
Paso 5: inserte 16 filas en la tabla STDMARKS.
Consulta:
INSERT INTO STDMARKS VALUES(1,'RAVI','C++',75); INSERT INTO STDMARKS VALUES(1,'RAVI','ORACLE',84); INSERT INTO STDMARKS VALUES(1,'RAVI','JAVA',95); INSERT INTO STDMARKS VALUES(1,'RAVI','OS',62); INSERT INTO STDMARKS VALUES(2,'VIVEK','C++',46); INSERT INTO STDMARKS VALUES(2,'VIVEK','ORACLE',70); INSERT INTO STDMARKS VALUES(2,'VIVEK','JAVA',55); INSERT INTO STDMARKS VALUES(2,'VIVEK','OS',56); INSERT INTO STDMARKS VALUES(3,'RAJ','C++',82); INSERT INTO STDMARKS VALUES(3,'RAJ','ORACLE',84); INSERT INTO STDMARKS VALUES(3,'RAJ','JAVA',74); INSERT INTO STDMARKS VALUES(3,'RAJ','OS',92); INSERT INTO STDMARKS VALUES(4,'MAHESH','C++',43); INSERT INTO STDMARKS VALUES(4,'MAHESH','ORACLE',49); INSERT INTO STDMARKS VALUES(4,'MAHESH','JAVA',68); INSERT INTO STDMARKS VALUES(4,'MAHESH','OS',35);
Producción:
Paso 6: Muestre todas las filas de la tabla STDMARKS.
Consulta:
SELECT * FROM STDMARKS;
Producción:
Paso 7: Muestre el ASIGNATURA y las calificaciones promedio obtenidas por los estudiantes en esa materia de la tabla STDMARKS . Para lograr el valor agregado de una columna de acuerdo con otra columna, necesitamos usar la cláusula GROUP BY junto con la función agregada como AVG . La columna mencionada después de la cláusula GROUP BY es la base de nuestra salida. Las calificaciones promedio por materia se logran de esta manera.
Sintaxis:
SELECT COLUMN_NAME1,AVG(COLUMN_NAME2) AS ALIAS FROM TABLE_NAME GROUP BY COLUMN_NAME1;
Consulta:
SELECT SUBJECT,AVG(MARKS) AS "AVERAGE MARKS" FROM STDMARKS GROUP BY SUBJECT;
Producción:
Publicación traducida automáticamente
Artículo escrito por abhisri459 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA