我有一个包含两个字段的表(价格),代码(字符)和价格(十进制)。我需要找到具有相同代码的所有记录,价格要低5倍或少于两个最高价。
EG在这种情况下,我希望删除id = 1:
id code price 1 1001 10 2 1001 101 3 1001 40 4 1001 201 5 1002 122 6 1002 50
DELETE FROM myTable WHERE ID IN ( SELECT * FROM ( SELECT t2.id FROM myTable t2 WHERE EXISTS ( SELECT 1 FROM myTable t3 WHERE t3.code = t2.code AND t3.price > t2.price * 5 HAVING COUNT(*) > 1 ) ) t ) ;