【发布时间】:2020-06-05 09:09:43
【问题描述】:
对于这种情况,我真的需要您的帮助: 我有这张表(没有“排名”列):
+------------+---------+---------+-------+------+--------+------------+------+
| Profile ID | Email | lname | fname | Type | Salary | Created | Rank |
+------------+---------+---------+-------+------+--------+------------+------+
| 1 | a@a.com | Templar | Simon | A | 200 | 01.01.2020 | 2 |
+------------+---------+---------+-------+------+--------+------------+------+
| 2 | a@a.com | Madison | James | B | 100 | 01.01.2020 | 1 |
+------------+---------+---------+-------+------+--------+------------+------+
| 3 | a@a.com | Adams | Dan | C | 300 | 02.01.2020 | 2 |
+------------+---------+---------+-------+------+--------+------------+------+
| 4 | b@b.com | Adams | Emily | A | 200 | 04.01.2020 | 2 |
+------------+---------+---------+-------+------+--------+------------+------+
| 5 | b@b.com | Adams | Kim | C | 300 | 05.01.2020 | 1 |
+------------+---------+---------+-------+------+--------+------------+------+
我想使用以下标准根据重复的电子邮件对个人资料进行排名:
- 如果 'Type' = B,那么这就是胜利
- 如果 'Type' = A 或 C,并且 lname 相同,则根据最高薪水排名
- 如果 'Type' = A 或 C,并且 lname 不相同,则不会发生任何变化,那么两个配置文件将获得相同的排名
如何使用 SQL Ranking 做到这一点?
【问题讨论】:
-
欢迎,当 'Type' = A 或 C,lname 不一样时会发生什么
-
请根据您提供的数据显示结果。
-
就您的输出而言,“这将赢得一切”是什么意思?
-
@user2474598 您能否使用所需的输出更新您的问题,而不是使用评论?
-
预期结果是什么?
标签: sql tsql sql-server-2012