У нас есть всего одна таблица, в которой всего два столбца (Фамилии и Оценки), их много и они могут повторяться. Задача, вывести Фамилии учеников у которых есть "двойки" , среди тех, кто имеет 10 или более "пятерок".
select distinct фамилия from одна_таблица as t0
where 10 <= (select count(1) from одна_таблица as t1 where оценка = 5 and t0.фамилия = t1.фамилия)
end exists ( select 1 from одна_таблица as t1 where оценка = 2 and t0.фамилия = t1.фамилия)