我正在尝试在每个课程上显示最高 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;
此代码由 Stackoverfolow 的“Eggplant”提供。
没有类时它会正常工作。
我的表是
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
请帮助我。