Искате да намерите дублирани записи в MySQL база данни. Това може да бъде написано с:
SELECT address, count(id) as cnt FROM list
GROUP BY address HAVING cnt > 1
Което ми дава:
101 Saint ST 3
Искам да го издърпам така, че да показва всеки ред, който е дублиран. например:
SIM JANE 101 Saint ST
JOHN SMITH 101 Saint ST
Всеки има някаква представа как може да се направи? Опитвам се да избегна първото, след което да потърся дубликатите с втора заявка в кода.
Отговори:
0 за отговор № 1Една от опциите тук е да се присъединят към оригиналната ви таблица към подзаявка, която определя броя:
SELECT t1.last, t1.first, t1.address
FROM list t1
INNER JOIN
(
SELECT address
FROM list
GROUP BY address
HAVING COUNT(*) > 1
) t2
ON t1.address = t2.address
Подредените сървъри филтър, който премахва записите, които нямат поне още един запис с общ адрес. Имайте предвид, че премахнах COUNT
от избрания списък на това подразделение, тъй като не изглежда да го използвате в крайния резултат.