我有一些数据一致性问题,由于一个错误而发生。SQL查询崩溃PHPMYADMIN - 问题与查询逻辑
现在我试图对它进行整理,但是当我运行我的测试查询的一部分phpmyadmin
崩溃或在很长一段时间内变得没有响应时出现问题。 我试着自己运行嵌套子查询,他们工作正常。
基本上我试图解决的问题是:
如何删除重复resource_type=1
FROM geo_address
从拥有所有用户超过一个resource_type=1
WHERE用户也有geo_address
与resource_type=2
基本上这意味着如果用户有一个和1 resource_type=2
他有一个重复resource_type=1
。如果用户有2 resource_type=1
但没有resource_type=2
那么它会陷入另一种情况,我不在这里解决。
我在我的SQL
查询的逻辑找到了巨大的麻烦
我至今想出了是这样的,但我知道它fundamentaly错了,因为它崩溃
我怎么能正确地构建我的查询?
SELECT member_num
FROM geo_address2
WHERE id IN (SELECT id
FROM geo_address2
WHERE resource_type=1
GROUP BY member_num
HAVING COUNT(resource_type) > 1
)
AND id IN (SELECT id
FROM geo_address2
WHERE resource_type=2
GROUP BY member_num
HAVING COUNT(resource_type) = 1
)
可你给在sqlfiddle数据的例子吗? –
用户具有“重复”记录,哪一个是你想保留的记录? – eggyal
@eggyal如果存在重复,我想保留'resource_type = 1'的MIN(id)'记录 –