我有一个分贝,看起来像这样SQL Server 2008中,选择学生成绩优异的学生,从每一类
+--------+-------+-------+
| ID | Class | grade |
+--------+-------+-------+
| 123 | A | 100 |
| 2 | B | 84 |
| 357 | A | 46 |
| 43 | B | 12 |
| 55677 | B | 78 |
| 63432 | A | 63 |
+--------+-------+-------+
很明显,我处理的更大分贝。 更多学生和更多课程 我想实现的是从每个班级中挑选两名成绩最高的学生。
所以,它应该显示:
+-------+-------+-------+
| ID | Class | Grade |
+-------+-------+-------+
| 123 | A | 100 |
| 63432 | A | 63 |
| 2 | B | 84 |
| 55677 | B | 78 |
+-------+-------+-------+
如何做到这一点谢谢!
我尝试这样做,但它给了我所有行
select id, class, max(grade)
from school
group by id, class
++++
有,我想这个数据库做另一件事。 我如何才能从每班上拉10%的学生? 后,我加了一个等级的属性,我尝试使用这样的“具有”组后:
rank < count(distinct ID) * 0.05
谢谢!
如果有在第二位的领带?即将(321,B,78)添加到样本表数据中。 – jarlh