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

求SQL查询语句:去除eprism_reports表重复TAG_NAME并保留最大RERUN

解决方法:保留每个TAG_NAME对应RERUN最大值的记录

没问题,针对你的需求,这里有个可以直接使用的SQL查询语句,逻辑是通过窗口函数来筛选每个TAG_NAME分组里RERUN值最大的记录:

SELECT id, CARRIER_NAME, CLAIM_TYPE, STATUS, DATE, TAG_NAME, RERUN
FROM (
    SELECT 
        *,
        -- 按TAG_NAME分组,每组内按RERUN降序排,给每条记录标序号
        ROW_NUMBER() OVER (PARTITION BY TAG_NAME ORDER BY RERUN DESC) AS row_num
    FROM eprism_dashboard.eprism_reports
    WHERE CARRIER_NAME='QA_T_MOB'
) filtered_reports
-- 只保留每组的第一条(也就是RERUN最大的那条)
WHERE row_num = 1;

逻辑拆解:

  1. 子查询里用ROW_NUMBER()窗口函数:
    • PARTITION BY TAG_NAME:把结果集按TAG_NAME分成不同的组
    • ORDER BY RERUN DESC:每个组内按照RERUN从大到小排序,这样RERUN最大的记录会被标上序号1
  2. 外层查询只筛选row_num = 1的记录,这样就自动去除了重复的TAG_NAME,只保留每个TAG_NAME对应RERUN最大的那条。

补充说明:

如果存在多个记录的RERUN值相同且都是该TAG_NAME下的最大值,上面的语句会随机选取其中一条。如果需要固定选取规则(比如保留id最大的那条),可以把排序条件改成:

ORDER BY RERUN DESC, id DESC

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:56:14