Как получить имена студентов, которые набрали максимальное количество баллов по каждому предмету и, если есть несколько топперов, расположить их имена в порядке возрастания - PullRequest
0 голосов
/ 20 июня 2019

Изображение о таблицах и их ссылках

Теперь я хотел получить имя субъекта в качестве первого, а затем имя студента, набравшего максимальное количество баллов, отметка здесь - это значение из таблицы отметок, а student_id и subject_id подобны первичному ключу и внешнему значению с таблицей отметок

select s2.subject_name,s1.student_name
from student s1
inner join 
mark m
on 
s1.student_id=m.student_id
inner join 
subject s2
on 
s2.subject_id=m.subject_id
where m.value in
(select max(value) from mark group by subject_id)
 order by s1.student_name;
Actual output

     SUBJECT_NAME                  STUDENT_NAME
------------------------------ ------------------------------
Computer Organization          Anitha
Computer Organization          Kokila
Computer Organization          Mithali
Computer Programming           Chandru
RDBMS Concepts                 Anitha
Software Engineering           Anandhi
Software Engineering           Kokila
Theory of Computation          Anitha

Expected output

     SUBJECT_NAME                     STUDENT_NAME
------------------------------ ------------------------------
Computer Organization          Anitha
Computer Organization          Mithali
Computer Programming           Chandru
RDBMS Concepts                 Anitha
Software Engineering           Kokila
Theory of Computation          Anitha

Пожалуйста, проверьте мой запрос, где я иду не так

- Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...