ROW_NUMBER() OVER (PARTITION BY equipment_no ORDER BY check_date DESC) AS rn
FROM equipment_check_order
)
INSERT INTO deduplicated_orders (equipment_no, check_date)
SELECT equipment_no, check_date
FROM ranked
WHERE rn = 1;
复制代码
PARTITION BY equipment_no:根据 equipment_no 列进行分组
SELECT equipment_no, check_date FROM ranked WHERE rn = 1:从 CTE ranked 中选择行号为 1 的记录,即每个分组中最新的记录,如果为小于5,代表去重并生存多条记录
4. 总结
方法用法示例优点缺点适用场景SELECT DISTINCTSELECT DISTINCT equipment_no FROM equipment_check_order;简朴易用,直观对大数据集性能影响可能较大单列去重,简朴查询GROUP BYSELECT equipment_no FROM equipment_check_order GROUP BY equipment_no;机动,与聚合函数联合利用方便语法复杂,对性能影响与数据量有关复杂查询或须要与聚合函数联合利用的场景子查询 + ROW_NUMBER()高机动性,可选择特定记录需利用窗口函数,语法复杂高级去重,生存特定记录临时表得当复杂数据处置惩罚,多步骤数据操作操作步骤多,占用额外存储空间数据清理、迁徙,复杂操作
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。