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

MySQL:删除Component表同页面同国家重复记录,保留最新条目

删除Component表重复记录的方案

要清理Component表中同一Page、相同country值的重复记录,只保留每组里createdAt最新的那条,可以用以下步骤实现:

核心SQL语句

WITH latest_component_ids AS (
    SELECT c.id
    FROM Component c
    JOIN PageComponent pc ON c.id = pc.componentId
    JOIN Page p ON pc.pageId = p.id
    GROUP BY p.id, c.country
    HAVING c.createdAt = MAX(c.createdAt)
)
DELETE FROM Component
WHERE id NOT IN (SELECT id FROM latest_component_ids);

逻辑说明

  1. 通过CTElatest_component_ids关联Page、PageComponent和Component三张表,按页面ID和country分组,筛选出每组中createdAt时间最晚的Component ID;
  2. 利用DELETE语句移除所有不在保留列表内的Component记录,完成去重操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:16:59