SQL Server如何仅显示最后一条记录的指定列值其余列为空
嘿,这个需求很容易实现,咱们借助窗口函数就能完美搞定!看你表中的RN是行号,刚好可以用来定位最后一行数据。
解决方案代码
SELECT Name, RN, -- 仅当当前行是最后一行(RN等于最大RN)时显示AGE,否则为空 CASE WHEN RN = MAX(RN) OVER() THEN AGE ELSE NULL END AS AGE FROM YourTableName; -- 记得把这里替换成你的实际表名
逻辑解释
MAX(RN) OVER():这个窗口函数会计算整个结果集里的最大RN值(也就是最后一行的行号),并且每一行都会获取到这个全局最大值。CASE语句:判断当前行的RN是否等于这个全局最大值,如果匹配就保留原AGE值,否则返回NULL,正好满足你“仅最后一行显示AGE”的要求。
预期输出结果
| Name | RN | AGE |
|---|---|---|
| A | 1 | |
| B | 2 | |
| C | 3 | 23 |
内容的提问来源于stack exchange,提问作者Karthick Saravana
相关产品推荐
相关产品推荐

