【发布时间】:2020-12-06 19:41:54
【问题描述】:
我有一张如下表所示的名称推荐
我想删除cnt具有最小值且存在ID_recipient多条记录的所有行。
如果有 ID_recipient 的单个记录,则无论 cnt 的值可能是什么,它都不应该被删除。
以蓝色突出显示的是必须保留的记录。
我试过了:
DELETE from table where(
SELECT DISTINCT(A.ID_recipient), DISTINCT(A.cnt) FROM (
SELECT MIN(cnt) as cnt FROM recomendation_table_ID_recipient GROUP BY ID_recipient HAVING COUNT(*) > 1 ) as A);
这不起作用。
【问题讨论】:
-
请参阅Why should I provide an MCRE for what seems to me to be a very simple SQL query,并注意 DISTINCT 不是函数。
-
我用一些测试数据创建了一个 db-fiddle,但正如@Strawberry 指出的那样,如果您希望将来获得帮助,您应该这样做。
-
我相信你下次也可以为 OP 做这一切。
标签: mysql sql duplicates sql-delete