Помогите пожалуйста, как вывести повторяющие(одинаковые) записи из таблицы mysql ??? Например : Имеется таблица "table" и в ней строка "title". Как осуществить проверку и вывести повторяющие(одинаковые) значения "title"? Заранее СПАСИБО!!!
COUNT поможет Добавлено спустя 32 секунды: с дистинктом, да http://msdn.microsoft.com/en-us/library/ms175997(SQL.100).aspx
??? На сколько я знаю COUNT подсчитывает количество записей в таблице, но как узнать какую именно мне запись нужно искать (ведь я не знаю заранее какая повторяется)? Или в цикле : брать 1-ю запись+сравнивать с остальными и если есть то выводить. Потом 2-ю, 3-ю и тд ???
Не ужели так сложно написать по нормальному ??? Что это за ответ: SELECT COUNT(DISTINCT Title) FROM HumanResources.Employee; , где оператор вывода (к примеру echo) или хотя бы какая ни будь переменная !!??? Я же спрашивал как вывести повторяющие(одинаковые) значения "title" из таблицы "table" !!!! Найти в инете материал на эту тему я и сам могу , но если спрашиваю значит не могу в нем разобраться!!! Догадываюсь, что код не большой (в несколько строк) и времени для знающего много не займет.
Это раздел "MSSQL" Тема "Вывод одинаковых записей из таблици mysql" это уже ошибка! тебя интересует как можно автоматически удалить все дубликаты (и оставить, например, только те у которых наименьший id)? или ты хочешь вручную всё делать? p.s. начал было писать запрос, но понял, что лучше у тебя спросить структуру таблицы. а еще лучше создай тестовую среду в http://sqlfiddle.com/ Добавлено спустя 4 минуты 45 секунд: по идее как-то так должно работать: Код (Text): SELECT x.* FROM mytable AS x WHERE x.myfield IN ( SELECT y.myfield FROM mytable AS y GROUP BY y.myfield HAVING COUNT(*) > 1 ) group by having count всему голова
а больше ничего не надо? это форум программистов, раздел по MSSQL. Если не умеешь работать с запросами, начни с чего по-проще. Делать за тебя твою работу бесплатно тут никто не будет.
хм... тогда лучше так: Код (Text): SELECT GROUP_CONCAT(`id`) FROM `table` WHERE `id` NOT IN ( SELECT `id` FROM `table` GROUP BY `title` ) На выходе должны получить id повторяющихся записей за исключением какого-то одного. Результат можно сразу в DELETE отправить. Как замутить одним запросом сходу не скажу.
Сам спросил и сам ответил ))))) Короче сделал так (перебор 2-х массивов) : Код (Text): $r = mysql_query("SELECT * FROM table"); $myrow = mysql_fetch_array($r); do { $id=$myrow['id']; $r1 = mysql_query("SELECT * FROM table WHERE id!='$id'"); mysql_query("SET NAMES 'cp1251'"); $myrow2 = mysql_fetch_array($r1); do { if ($myrow['title']==$myrow2['title']) {echo '# '. $myrow['id'].' - '. $myrow['title'].' <br>'; } } while ($myrow = mysql_fetch_array($r)); Всё работает отлично, но вот сколько, интересно, времени займет если к примеру 1млн. записей проверить ))))
Вместо того чтобы умничать просто бы взял и подсказал (а то уже пяток "никаких" ответов написал) !!! Форумы такой тематики для того и существуют, чтобы спрашивать и ,если знаешь, отвечать !!! Если ты заходишь сюда чтобы пообщаться, то тебе прямая дорога "Вконтакте" или "Одноклассники"!!! P.S: На счет "твоих" COUNT и GROUP BY ДЕРЖИ: Код (Text): $r = mysql_query("SELECT title, GROUP_CONCAT(id) as id FROM table GROUP BY title"); $myrow = mysql_fetch_array($r); $i=0; do { $title[$i]=$myrow[0];$id[$i]=$myrow[1]; $pos = strrpos($id[$i], ','); if ($pos !== false) {echo $title[$i].'- Повтор! ID материалов : '.$id[$i].'<br>';} $i=$i+1;} while ($myrow = mysql_fetch_array($r)); Мог ведь с самого начала примерно так написать, а не умничать попусту !!! Считаю тему можно закрыть
Вот поможешь таким, попытаешься рассказать про COUNT и GROUP BY, а потом все вокруг говоряд о быдлопхп ))
если тебе ответа "используй групбай" недостаточно хотя бы чтобы попытаться, то это твоя бяда, и никто не будет делать твою работу за тебя и тем более никто не будет учиться за тебя.
Искал в сети подобный вопрос и прочитав здесь переписку, реально аж не по себе стало. Вроде сайт и форум для вопросов созданы. А тут звучит за тебя работать никто не будет и так далее. И даже модератор тоже самое пишет. Фу. Какие-то ограниченные обиженные люди могут только так писать. Для меня выглядит так. Мы создали сайт для помощи, друг другу, но отвечать будем: За тебя работать никто не будет. А зачем тогда в модераторы набились сюда? Чтобы ЭГО свое поднять за счет других?
если человек впадает в истерику от того, что что-то не знает и не хочет понимать, а ждёт готовый результат - то он либо пусть платит, либо страдает. Помощь была вполне себе помогающая. --- Добавлено --- вот это капец вообще.
Я аж зарегистрировался! Вы действительно считаете послать человека по ссылке это помощь? Если вы считаете что это помощь, то я вообще не понимаю зачем вы сидите в модераторах. Некоторые люди не особо ладят с технической терминологией им труднее понять работу элементов запроса. Вместо того чтобы посылать по ссылке, написали бы часть код или весь и разжевали бы человеку как он работает, тогда вы и помогли и хорошее дело сделали рассказав понятным языком как это сделать.
Странно что тебя ещё в подвортню не спустили. --- Добавлено --- Тебе написали чёрным по белому. А то что ты не умеешь включать свои мозги. Люди в этом не виноваты. Напряги свои оставшиеся извилины и подумай над тем, что тебе подсказал @igordata Одинаковые записи можно сгруппировать в запросе с помощью GROUP BY А после получить их массив за счёт различных методов или функций php. Не понимаешь как сделать это? То ты ошибся разделом. Тебе в новички или вообще с твоими запросами в раздел сделай за меня.