我是mySQL的新手,在mysql中有下面的db表:
table : Grades
---------------------------
| sr | grade | point |
---------------------------
| 1 | E | 0 |
| 2 | D | 21 |
| 3 | C | 41 |
| 4 | B | 61 |
| 5 | A | 81 |
---------------------------表中可能有n个分数和分数。假设一个学生得了35分(在21分到41分之间),那么他会得D分。一个学生得56分(在41分到61分之间),那么他会得C分。
需要创建查询,以根据获得的分数过滤等级。
请帮帮忙。
发布于 2020-09-11 14:26:19
WITH cte AS
( SELECT s.name,
g.grade,
ROW_NUMBER() OVER (PARTITION BY s.name ORDER BY g.grade DESC) rn
FROM students s
JOIN grades g ON s.point >= g.point
)
SELECT name, grade
FROM cte
WHERE rn = 1https://stackoverflow.com/questions/63840994
复制相似问题