SQL — count() с предложением Group By

Опубликовано: 1 Сентября, 2022

Функция 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)