Найти дубли записей в базе

323
31 января 2017, 23:58

Здравствуйте. 40 тыс. записей. Очень много записей с одинаковыми заголовками (точь в точь). Задача: поиск дублей и вывод их с идентификатором .

Пробую

    $array=array();
    $db_query="select  id_advert, name_adv from ".DB_PREF."advert ";
    list($kol,$data)=obr_db_query_select_assoc($db_query);//ассоциативный массив
    foreach($data as $one){
       $array[]=$one['name_adv'];
    }
    $array=array_count_values($array);

на выходе я получаю значение => кол-во повторов

Как я полагаю, двигаюсь я не совсем в нужную сторону, поэтому хочу узнать вашего совета. В данном случае как мне еще заносить id_advert в результат повторов?

Answer 1
SELECT name_adv, GROUP_CONCAT(DISTINCT id_advert) identifiers_list
FROM advert 
GROUP BY name_adv
HAVING COUNT(DISTINCT id_advert) > 1

Если же пары (name_adv, id_advert) гарантированно уникальны - DISTINCT-ы можно убрать.

READ ALSO
Что будет если не закрыть соединение curl_close()?

Что будет если не закрыть соединение curl_close()?

Через ajax выполняю php-код, с помощью curl авторизуюсь и выполняю кодТаких ajax-запросов может быть очень много за день

390
Как перехватить кнопку “назад” браузера?

Как перехватить кнопку “назад” браузера?

На странице используется JavaScript, пользователь может изменить вид страницыПри переходе по ссылке на другую страницу того же сайта и затем...

658
Как отсечь градиент

Как отсечь градиент

В общем думал как реализовать освещение в 2d игре, нашел вот такой замечательный пример http://codepenio/ilovepixel/pen/qBjCH

366