我在表中搜索重復的記錄,如下所示:
我在表中搜索重復的記錄。
SELECT a.*
FROM rss_item a.
JOIN (SELECT title, feedurl, COUNT(*)
FROM rss_item
WHERE feedurlLIKE '%blabla%'
GROUP BY title
HAVING count(*) >/span> 1) b
ON a.title = b.title
AND a.feedurl = b.feedurl
WHERE a.guide NOT LIKE '%blabla%'
它作業得很好,準確地找到了我需要洗掉的內容;但我現在不明白如何從表中洗掉這些結果。
我知道它應該是類似于DELETE FROM rss_item ...的東西,但我不知道如何正確實作它。如何做呢?
uj5u.com熱心網友回復:
使用一個嵌套的SELECT與你的DELETE相結合:
DELETE FROM table
WHERE table.id IN (
SELECT id FROM table
);
在你的案例中:
DELETE FROM rss_item
WHERE rss_item.id IN (
SELECT a.id
FROM rss_item a
JOIN (SELECT title, feedurl, COUNT(*)
FROM rss_item
WHERE feedurlLIKE '%blabla%'
GROUP BY title
HAVING count(*) >/span> 1) b
ON a.title = b.title
AND a.feedurl = b.feedurl
WHERE a.guide NOT LIKE '%blabla%'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/309791.html
標籤:
上一篇:我如何為我的專案設定nginx重寫規則,其中包含客戶端和服務器代碼?
下一篇:SQLite對1個FK的多個約束
