Приветствую,
Решил почистить базу пользователей, но не могу разобраться с запросом.
Таблица user имеет следующий вид (сокращенно):
id | username | pass | ref | ip
ref = реферал, принимает значение id того, человека, который привел пользователя.
Чтобы найти пользователей у которых IP >=15 одинаковым (накрутчики) делаю следующий запрос
Select * from user
where ip in
(
select ip from
(
select ip
from user
group by `ip` having count(*)>=15
) as arbitraryTableName
)
// не обращаем внимания на arbitraryTableName нужен был для updateЗдесь все хорошо.
Теперь по этому принципу нужно сделать ref=id чтобы найти "главный" аккаунт и его забанить, по сути должно быть что-то подобное
select * from user
where id in
(
select ref
from user
group by `ip` having count(*)>=15
)
Но запрос выполняется крайне долго, минут уже 40. Скорее всего где-то ошибка, перепробовал и массу других вариантов.. Просьба подсказать.