我们需要查找entity_types_id字段的值重复多次的记录。接下来,您需要获取这些行的 id,除了最后一行的 id
表:
subtask_templates
,字段:id, entity_types_id, value
我写了一个查找重复项的请求:
SELECT entity_types_id FROM subtask_templates GROUP BY entity_types_id HAVING COUNT(*) > 1;
并根据找到的entity_types_id获取所有id的请求
SELECT id, entity_types_id
FROM subtask_templates
WHERE entity_types_id IN
(SELECT entity_types_id FROM subtask_templates WHERE enabled = TRUE GROUP BY entity_types_id HAVING COUNT(*) > 1)
ORDER BY id desc;
但现在还不完全清楚如何从找到的记录中删除每个entity_types_id具有最高id的记录。
ID | 实体类型id |
---|---|
106 | 200 |
104 | 200 |
63 | 200 |
34 | 99 |
32 | 99 |
9 | 99 |
3 | 99 |
在此选择中,您需要获取除 id = 106 和 id = 34 之外的所有行