gpt4 book ai didi

mySQL 删除带有 count(*) GROUP 和 HAVING 的行

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:23 24 4
gpt4 key购买 nike

我有这个查询,我得到所有具有相同 articleID 和 categoryID = 2153 的双重条目现在我想删除这些行。但这似乎不能直接起作用。所以我用子查询尝试了它,但是当我使用 IN 时,我需要一个只返回 id 的子查询。但这也是不可能的。

如何从该查询中删除行?

SELECT id, articleID, categoryID, count(*) AS count 
FROM `s_articles_categories`
GROUP BY articleID
HAVING count(*) > 1 AND categoryID = 2153

最佳答案

假设 id 是表 s_articles_categories 的主键 您可以对子查询结果使用连接。

删除所有行:

delete  r.* 
from s_articles_categories r
INNER JOIN (
SELECT id, articleID, categoryID, count(*) AS count FROM
`s_articles_categories` r
GROUP BY articleID
HAVING count(*) > 1 AND categoryID = 2153

) t on t.id = r.id

关于mySQL 删除带有 count(*) GROUP 和 HAVING 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54782623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com