使用“Rank()”函数,我需要根据 TotalMark 更新排名,但分数不应为 Null

问题描述

使用 Rank() 函数将排名更新为空值中的 TotalMarks

使用Rank()函数将Rank更新为TotalMarks不为空

我正在根据 TotalMarks 更新排名。如果 TotalMarks 不为空,则排名正在更新,但(这里的问题是)如果 TotalMarks 为空,则不应允许更新排名。

如何解决这个问题?

解决方法

只需使用 CASE 表达式

CASE WHEN TotalMarks IS NOT NULL THEN RANK() OVER (ORDER BY TotalMarks DESC) END