ВЫВОД "несдавших сессию" - MySQL

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

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

Ребята помогите! У меня есть уродская таблица SESSIA: (STUDENT_id)_____(OCENKA_id)_____(DISCIPLIN_id) _____1______________1________________1______ _____1______________1________________2______ _____1______________4________________3______ _____1______________4________________4______ _____1______________4________________5______ _____2______________4________________1______ _____2______________1________________2______ _____2______________4________________3______ _____2______________4________________4______ _____2______________1________________5______ _____3______________4________________1______ _____3______________3________________2______ _____3______________4________________3______ _____3______________2________________4______ _____3______________4________________5______ Всего 5 предметов. К каждому id студента соответствует своя оценка которая в свою очередь относиться к определенной дисциплине.

Задача проста, нужно вывести кол-во несдавших сессию ( тех, у кого 2-ек больше 2-ух ) тобишь тех, у кого индекс оценки 1 (id4 = 5, id1 = 2 и тд).

(У меня работа не на прямую с MySQL, а через php) По данной таблице должно вывести " 2 ". Вообще не представлю как это реализовать, пытался через цикл в цикле в цикле... но там тупик. Я почти уверен что то что мне нужно можно реализовать в одну строку, через
COUNT(*)
например, но как бы не искал не где не могу найти похожую со мной проблему, можете помочь кто? Пожалуйста!

Решение задачи: «ВЫВОД "несдавших сессию"»

textual
Листинг программы
SELECT STUDENT_id
FROM SESSIA
WHERE OCENKA_id=1 
GROUP BY STUDENT_id
HAVING COUNT(*)>=2

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

В данном коде выполняется запрос к базе данных с помощью языка SQL. Этот запрос выводит уникальные идентификаторы студентов, которые не сдали сессию. Вот список действий, которые выполняются в этом коде:

  1. SELECT - выборка данных из базы данных.
  2. STUDENT_id - идентификатор студента, который не сдал сессию.
  3. FROM - указание источника данных.
  4. SESSIA - название таблицы в базе данных, где хранятся данные о сессии.
  5. WHERE - условие для отбора данных.
  6. OCENKA_id=1 - оценка студента равна 1.
  7. GROUP BY - группировка данных по идентификатору студента.
  8. HAVING COUNT(*)>=2 - наличие двух и более оценок студента. В результате выполнения этого кода будут выведены уникальные идентификаторы студентов, которые не сдали сессию.

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


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

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

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