INSERT INTO Student
VALUES (1001, 'Sanjay Naik');
INSERT INTO Student
VALUES (1002, 'Rohit Sharma');
INSERT INTO Student
VALUES (1003, 'Virat Kolhi');
INSERT INTO Student
VALUES (1004, 'Nitish Kumar Reddy');
INSERT INTO Subject
VALUES (1,1001, 'Maths',72);
INSERT INTO Subject
VALUES (2,1001, 'English',84);
INSERT INTO Subject
VALUES (1,1002, 'Maths',79);
INSERT INTO Subject
VALUES (2,1002, 'English',94);
INSERT INTO Subject
VALUES (1,1003, 'Maths',65);
INSERT INTO Subject
VALUES (2,1003, 'English',89);
INSERT INTO Subject
VALUES (1,1004, 'Maths',54);
INSERT INTO Subject
VALUES (2,1004, 'English',51);
Как получить трех лучших учеников на основе оценок, полученных по каждому предмету? Например, «Выбрать трех лучших учеников по английскому языку и математике».
Я попробовал подписка ,
SELECT * FROM Student
INNER JOIN Subject
ON Student.student_id = Subject.student_id
ORDER BY Subject.marks DESC;
Запрос выше выводит учащихся в порядке их оценок по обоим предметам. Если я добавлю LIMIT 3, он получит 3 лучших учащихся, тогда как я хочу, чтобы 3 лучших учащихся были как по английскому языку, так и по математике.>
У меня есть 2 таблицы. Студенты и Предметы. Ниже приведены структуры [code]CREATE TABLE Student ( student_id NUMBER, student_name VARCHAR );
CREATE TABLE Subject ( subject_id NUMBER, student_id NUMBER, subject_name VARCHAR, marks NUMBER );
[/code] Я добавил данные ниже [code]INSERT INTO Student VALUES (1001, 'Sanjay Naik'); INSERT INTO Student VALUES (1002, 'Rohit Sharma'); INSERT INTO Student VALUES (1003, 'Virat Kolhi'); INSERT INTO Student VALUES (1004, 'Nitish Kumar Reddy');
INSERT INTO Subject VALUES (1,1001, 'Maths',72); INSERT INTO Subject VALUES (2,1001, 'English',84); INSERT INTO Subject VALUES (1,1002, 'Maths',79); INSERT INTO Subject VALUES (2,1002, 'English',94); INSERT INTO Subject VALUES (1,1003, 'Maths',65); INSERT INTO Subject VALUES (2,1003, 'English',89); INSERT INTO Subject VALUES (1,1004, 'Maths',54); INSERT INTO Subject VALUES (2,1004, 'English',51); [/code] Как получить трех лучших учеников на основе оценок, полученных по каждому предмету? Например, «Выбрать трех лучших учеников по английскому языку и математике». Я попробовал подписка , [code]SELECT * FROM Student INNER JOIN Subject ON Student.student_id = Subject.student_id ORDER BY Subject.marks DESC; [/code] Запрос выше выводит учащихся в порядке их оценок по обоим предметам. Если я добавлю LIMIT 3, он получит 3 лучших учащихся, тогда как я хочу, чтобы 3 лучших учащихся были как по английскому языку, так и по математике.>