我有一個表「產品」 7場從表中刪除重複數據的某些字段
1 Prod_id (PK)
2 Company_id
3 Name
3 Code
5 Start Date
6 End Date
7 Entry Date
8 Description
我想刪除所有重複記錄(匹配的複製2個T0 6場)符合條件的記錄和只保留一個具有最近入境日期的人。
在mysql中是否有任何查詢來執行此任務。 或 我怎樣才能做到這一點使用PHP。
我有一個表「產品」 7場從表中刪除重複數據的某些字段
1 Prod_id (PK)
2 Company_id
3 Name
3 Code
5 Start Date
6 End Date
7 Entry Date
8 Description
我想刪除所有重複記錄(匹配的複製2個T0 6場)符合條件的記錄和只保留一個具有最近入境日期的人。
在mysql中是否有任何查詢來執行此任務。 或 我怎樣才能做到這一點使用PHP。
您可以添加一個唯一索引,並與
ALTER IGNORE TABLE Product
ADD UNIQUE INDEX dup_idx (Prod_id, Company_id, Name, Code,Start Date,End Date);
掉落副本試試這個:
我發現這個解決方案在過去的&有同樣的問題。我提到查詢如下:
DELETE FROM Product
USING Product, Product AS P
WHERE MIN(DATEDIFF(P.Entry_Date - Product.Entry_Date))
AND Product.Company_id = P.Company_id
AND Product.Name = P.Name
AND Product.Code = P.Code;
注意:添加&刪除字段根據您的要求。
謝謝
是的。它的工作正常。但它保持最後的記錄不重複。我怎樣才能得到入境日期接近當前日期的記錄? –
Nops ..!作爲組功能的無效使用,發生givin錯誤。 –
試試此查詢。我修改了它。上次錯誤修改。 –
你已經試過了嗎? –
有辦法做到這一點,但你做了什麼? – bksi