SQL — count() с предложением Group By
Функция count() — это агрегатная функция, используемая для определения количества строк, удовлетворяющих фиксированным условиям. Функция count() с предложением GROUP BY используется для подсчета данных, сгруппированных по определенному атрибуту таблицы.
Синтаксис:
SELECT attribute1 , COUNT(attribute2) FROM table_name GROUP BY attribute1
В этой статье давайте посмотрим на SQL count() с предложением Group by, использующим MSSQL в качестве сервера.
Шаг 1: Мы создаем базу данных. Для этого используйте приведенную ниже команду, чтобы создать базу данных с именем GeeksforGeeks.
Запрос:
CREATE DATABASE GeeksforGeeks;
Шаг 2: Чтобы использовать базу данных GeeksforGeeks, используйте следующую команду.
Запрос:
USE GeeksforGeeks
Шаг 3: Теперь мы создаем таблицу. Создайте таблицу student_marks с 4 столбцами, используя следующий SQL-запрос.
Запрос:
CREATE TABLE student_marks( stu_id VARCHAR(20), stu_name VARCHAR(20), stu_branch VARCHAR(20), total_marks INT )
Шаг 4: Просмотр описания таблицы.
Запрос:
EXEC sp_columns student_marks
Шаг 5: запрос на вставку строк в таблицу. Вставка строк в таблицу student_marks с помощью следующего SQL-запроса.
Запрос:
INSERT INTO student_marks VALUES( "1001","PRADEEP","E.C.E", 550), ( "1002","KIRAN","E.C.E", 540), ( "1003","PRANAV","E.C.E", 450), ( "2001","PADMA","C.S.E", 570), ( "2002","SRUTHI","C.S.E", 480), ( "2003","HARSITHA","C.S.E", 534), ( "3001","SAI","I.T", 560), ( "3002","HARSH","I.T", 510), ( "3003","HARSHINI","I.T", 500)
Шаг 6: Просмотр вставленных данных
Запрос:
SELECT * FROM student_marks
- Запрос, чтобы найти количество студентов в каждом филиале
SELECT stu_branch, COUNT(stu_id) AS number_of_students FROM student_marks GROUP BY stu_branch
- Запрос, чтобы найти количество студентов, чьи оценки выше, чем средние оценки таблицы.
SELECT AVG(total_marks) AS average,COUNT(stu_id) AS number_of_students FROM student_marks WHERE total_marks>(SELECT AVG(total_marks) FROM student_marks)