我将从Excel工作表导入的数据导入到db中的表中。 现在excel表中提供的数据包含多个记录,除了一个列值之外的所有记录都不同。 我需要删除其中一个。
以下是我的示例数据...... 我需要在“variant”列中删除带有null的那个
INDEX_NUM || variant || CASE_PACK ||cases || units
1020 144 0 0
1020 null 144 1 116 ------- > TO DELETE
1020 xyz 144 1 116
数据是excel表本身是不正确的...它有相同数据的多行只是变体的差异。
我的数据库中有数据。
现在我要删除两个havin变体中的那一行为null
我不能使用HAVING COUNT(VARIANT) >1
,因为还有其他行是当前的,但也有多个变体。
所以我需要忽略以DP和BD开头的变体。
我希望这很清楚......
答案 0 :(得分:1)
你可以尝试
DELETE FROM your_table
WHERE variant IS NULL
AND index_num IN
(SELECT DISTINCT index_num FROM your_table
GROUP BY index_num, case_pack, cases, units
HAVING COUNT(variant) > 1) p