我有一些數據一致性問題,由於一個錯誤而發生。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)'記錄 –