2012-08-29 15 views
1

我的表中有相同的網址。每一行都可以用id來標識。 我想在url字段中刪除相同的數據。我正在使用mysql。 我正在嘗試select其中一個(由最大id標識)作爲t2的新臨時表,然後比較我的where子句中原始表和臨時表之間的url。我的陳述中有語法錯誤,但我不確定它在哪裏。你能幫我嗎? thx傢伙。在一個表中刪除與語法錯誤相同的數據(mysql)

的聲明如下:

delete from t1, 
(select url, max(id) as id 
     from tjob_webpage as t1 
     group by url 
) as t2 
where t1.url = t2.url 
     t1.id < t2.id; 

回答

2

試試這個,

delete t1 
from t1 INNER JOIN 
(select url, max(id) maxID 
     from tjob_webpage 
     group by url 
) as t2 
where t1.url = t2.url 
     t1.id < t2.maxID; 
+0

THX吳宇森,它的工作原理爲'從tjob_webpage INNER刪除tjob_webpage JOIN(選擇網址,MAX(ID)從tjob_webpage maxID group by url)t2其中tjob_webpage.url = t2.url和tjob_webpage.id

相關問題