SQL实现:仅保留每个日期首行的Description值,其余置空
实现同日期仅首行保留Description的SQL方案
给定数据集:
Date Description 1/1/24 Testing 1/1/24 Testing 1/2/24 Apple 1/2/24 Apple
要实现每个日期仅第一行保留Description,其余行该字段置空的效果,可以用**窗口函数ROW_NUMBER()**配合CASE表达式来实现,具体SQL代码如下:
SELECT Date, CASE WHEN ROW_NUMBER() OVER (PARTITION BY Date ORDER BY Date) = 1 THEN Description ELSE '' END AS Description FROM your_table_name;
代码说明:
PARTITION BY Date:将数据按Date字段分组,相同日期的行会被划分到同一组中ROW_NUMBER() OVER (...):为每个分组内的行生成从1开始的连续序号,序号的顺序由ORDER BY指定(这里用Date排序即可,因为同日期的行排序不影响首行选择;如果有特定排序需求,可替换为其他字段,比如ORDER BY Description)- CASE表达式:判断当前行是否为分组内的第一行(序号=1),是则保留原
Description值,否则返回空字符串
内容的提问来源于stack exchange,提问作者Paul Middleton
相关产品推荐
相关产品推荐

