Я пытаюсь подготовиться к тематическим собеседованиям, и пока я пытался решить эту проблему, я столкнулся с некоторыми проблемами в последнем упражнении C).
Я заново создал эти таблицы в своей локальной базе данных "labsd", и это мое решение для
A)
SELECT labsd.interns.email,labsd.grades.grade
from labsd.grades
Inner join labsd.interns on labsd.interns.id=labsd.grades.id
Order by labsd.grades.grade desc
Limit 10;
B)
SELECT count(labsd.grades.id),labsd.grades.grade
from grades
group by labsd.grades.grade
order by count(labsd.grades.id) desc;
И вот в чем проблема
C)
Update labsd.interns as c
Set c.Accepted=1
where labsd.interns.id In (SELECT labsd.interns.id
from labsd.grades
Inner join labsd.interns on labsd.interns.id=labsd.grades.id
Order by labsd.grades.grade desc);
Учитывая, что в первый момент меня спросили о 10 лучших учениках, я подумал, что мне следует повторно использовать этот код, но я больше не могу использовать Limit, и я получил следующую ошибку:
Error Code: 1235. This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Я не знаю, как найти, какую версию MySql я только что установил в этом семестре, поэтому я предполагаю, что это последняя версия.
И даже без ограничения я все равно получаю ошибку, упомянутую в названии. Я попытался переименовать таблицу, но это не решило мою проблему.