让我们拥有这张桌子(rank_list
)。
+--------+--------+--------+--------+
| Sub | Name | Rank | Marks |
+--------+--------+--------+--------+
|Math2 |Smith | 1| 85|
|Math1 |John | 1| 92|
|Math1 |Susan | 2| 91|
|Math1 |Abc | 3| 90.5|
+--------+--------+--------+--------+
现在我还有四个结果。我必须插入这些给他们正确的排名。我也不接受排名超过 3 的结果。
Sub = Math2, Name = Mile, Marks = 86
Sub = Math1, Name = Luna, Marks = 92.5
Sub = Physics1, Name = Sakib, Marks = 88.75
Sub = Math1, Name = Coolb, Marks = 65
由于Mile
有一个排名为 2 的标记,他将被插入为Rank
2。
Luna 有最高分,她会得到Rank
1 并且Abc
将被删除(是的,已删除)。
Sakib来自Physics1,所以他将直接插入,因为他目前在物理中排名第一。
Coolb 不会被插入,因为他不在前三名。
我希望 MySQL 查询来做到这一点。
我可以使用 来做到这一点PHP
,但这需要很多时间。所以,我想用 SQL 来做这个(为了更快的插入和删除)。我需要你的帮助。提前致谢。