我忘了在表中添加唯一索引(进程id、结果id):
id, created_at, process_id, result_id, value
1, 2018-11-01, 1, 1, a
2, 2018-11-03, 1, 1, b
3, 2018-11-05, 2, 4, c
现在,我有多个条目用于相同的进程id和结果id组合。
为了添加唯一索引,我需要去掉重复项,并且只保留每个进程/结果对的最新条目(created\)。
如何轻松识别和删除旧的副本?
我可以识别所有的重复项:
select pr.id, pr.created_at, prd.*
from process_results pr
join (
select process_id, result_id
from process_results
group by process_id, result_id
having count(*) > 1
) prd on pr.request_id = prd.request_id and pr.request_filter_id = prd.request_filter_id
但我不知道如何删除所有,但最新的
预期结果:
id, created_at, process_id, result_id, value
2, 2018-11-03, 1, 1, b
3, 2018-11-05, 2, 4, c
2条答案
按热度按时间ejk8hzay1#
识别是一样的
w8biq8rn2#