Запрос к БД - MySQL (219839)

Узнай цену своей работы

Формулировка задачи:

Cоставить запрос, выполняющий вывод фамилий студентов и количества предметов, по которым они экзаменовались.

Таблица student:

STUDENT_ID: 1; 3; 6; 10; 12; 265; 32; 654; 274; 55; 8; 111; 222; 543 SURNAME:Иванов;Петров;Сидоров;Кузнецов;Зайцева;Павлов;Котов;Лукин;Петров;Белкин;Пупкин;Косинцева;Фокин;Аверин

Таблица exam_mark:

STUDENT_ID: 3; 265; 8; 8; 10; 654; 274; 111; 543; 6; 32; 111; 12; 222; 55; 1; 55; 12 SUBJ_ID: 10; 10; 10; 22; 22; 22; 43; 43; 43; 56; 56; 56; 94; 94; 94; 73; 73; 73
Select surname FROM student, COUNT(subj_id) FROM exam_mark GROUP BY student_id
Выдает ошибку. Подскажите, как грамотнее составить этот запрос?

Решение задачи: «Запрос к БД»

textual
Листинг программы
select s.surname, COUNT(subj_id)
from student s
join exam_mark m on m.student_id=s.student_id
group by s.student_id

Объяснение кода листинга программы

В представленном коде выполняется запрос к базе данных, который включает в себя следующие шаги:

  1. Выборка данных: В строке select s.surname, COUNT(subj_id) указываются данные, которые необходимо извлечь из базы данных. Здесь мы выбираем фамилию студента (s.surname) и подсчитываем количество экзаменационных оценок (COUNT(subj_id)) для каждого студента.
  2. Связывание таблиц: В строке join exam_mark m on m.student_id=s.student_id происходит связывание таблиц student и exam_mark по полю student_id. Это позволяет нам получить данные об экзаменационных оценках для каждого студента.
  3. Группировка данных: В строке group by s.student_id происходит группировка данных по идентификатору студента (s.student_id). Это необходимо для того, чтобы применить функцию подсчета количества к каждой группе. Таким образом, данный запрос вернет список фамилий студентов и количество экзаменационных оценок для каждого из них.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3 из 5