1.12 前 N 名 / 后 N 名:取对应记录

 

取出指定字段前 N 名 / 后 N 名的记录。根据成绩表,求各班各科前两名的学生 ID。

CLASS STUDENTID SUBJECT SCORE
Class one 1 English 84
Class one 1 Math 77
Class one 1 PE 69
Class one 2 English 81
Class one 2 Math 80

脚本:

A
1 =connect(“db”)
2 =A1.query@x(“select * from Scores”)
3 =A2.group(CLASS,SUBJECT;~.top(-2; SCORE):TOP2)
4 =A3. conj(TOP2)

A1 连接数据库
A2 查询学生成绩
A3 按班级和学科分组并取出每组分数前两名。注意:这里用分号分隔,表示返回最大的两个值所在的记录。
A4 将所有班级各科的前两名记录合并到一个序列

运行结果:

CLASS STUDENTID SUBJECT SCORE
Class one 4 English 96
Class one 9 English 93
Class one 13 Math 97
Class one 10 Math 97