You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

删除重复product_id下的NULL描述行(保留有效行及唯一NULL行)

数据清洗规则与实现

处理规则

  • 若某product_id存在非NULL的product_description记录,删除该product_id下所有product_description为NULL的行,仅保留含描述的行(例:删除ROW_ID = 1,保留ROW_ID = 2)
  • 若某product_id仅存在product_description为NULL的记录,则保留该行(例:保留ROW_ID = 3)

原数据表

row_idproduct_idproduct_descriptiontime_stamp
1000001null2012-12-22 20:00:00
2000001商品描述2012-12-23 21:00:00
3000002null2012-12-23 21:00:00

期望结果表

row_idproduct_idproduct_descriptiontime_stamp
2000001商品描述2012-12-23 21:00:00
3000002null2012-12-23 21:00:00

实现方案(SQL)

使用窗口函数统计每个product_id下非空描述的行数,再筛选符合规则的记录:

WITH product_desc_stats AS (
    SELECT 
        *,
        COUNT(CASE WHEN product_description IS NOT NULL THEN 1 END) OVER (PARTITION BY product_id) AS non_null_desc_count
    FROM your_table
)
SELECT row_id, product_id, product_description, time_stamp
FROM product_desc_stats
WHERE 
    product_description IS NOT NULL
    OR non_null_desc_count = 0;

逻辑说明

  1. 借助CTE(product_desc_stats)计算每个product_id下存在非空描述的记录数量
  2. 筛选条件:要么当前行的描述不为空,要么该product_id下没有任何非空描述(保留唯一的空描述行)

内容的提问来源于stack exchange,提问作者cwfmoore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 02:50:28