Я пытаюсь отображать самые высокие 3 метки на каждом классе, я использую следующий код.Дисплей 3 Максимальные значения столбца, включают повторяющиеся значения с условием
SELECT Name, Marks FROM mytable AS t1
INNER JOIN
(SELECT DISTINCT(Marks) AS best_marks FROM mytable WHERE Class='class1' ORDER BY Marks DESC LIMIT 3) AS t2
ON t1.Marka = t2.best_marks ORDER BY Marks DESC, Name ASC;
Этот код предоставил 'Eggplant' из Stackoverfolow.
Будет работать нормально, когда нет класса.
Моя таблица является
Name Marks Class
S1 90 class1
S2 55 class3
S3 60 class4
S4 90 class1
S5 55 class2
S6 60 class3
S7 88 class1
S8 45 class6
S9 88 class1
s10 76 class3
s11 92 class3
s12 44 class1
Как вышеупомянутой таблицы, я хочу показать 3 записи включают повторяющиеся записи и класс
Так что мой окончательный вывод выглядит
Name Marks Class
S1 90 class1
S4 90 class1
S7 88 class1
S9 88 class1
Name Marks Class
S5 55 class2
Name Marks Class
s11 92 class3
s10 76 class3
S6 60 class3
Name Marks Class
S3 60 class4
Name Marks Class
S8 45 class6
Пожалуйста, пожалуйста, помогите мне ,