--sql查找多字段重复项
SELECT Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No FROM alarm WHERE (Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No) IN
(
SELECT Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No FROM alarm GROUP BY
Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No HAVING count(*) > 1
);
--sql删除多字段重复项,只保留最小rowid行。
DELETE FROM alarm WHERE (Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No) IN (
SELECT Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No FROM alarm GROUP BY
Device_ID, Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No HAVING count(*) > 1
)
and rowid NOT IN (
SELECT min(rowid) FROM alarm GROUP BY Device_ID,
Device_Type,Sign_Class,Sign_Name,Sign_State,Sign_No HAVING count(*) > 1
);
sql查找和删除多字段重复项只保留最小rowid行
猜你喜欢
转载自blog.csdn.net/chenhao0568/article/details/100577241
今日推荐
周排行