Поиск в таблице одинаковых элементов

  • Автор темы Автор темы dima333
  • Дата начала Дата начала

dima333

Новичок
Поиск в таблице одинаковых элементов

Люди в базе данных MySQl есть таблица в которой множество строк. Как в столбце таблицы найти одинаковые значения??? Какой для этого запрос? или подскажите как это можно реализовать по другому.
 
Наличие одинаковых строк противоречит четвертой нормальной форме. Строки точно полностью одинаковые?

Запрос - select count(*) group by чего у вас там одинаковое.
 
kruglov
Да никто и не говорил что строки одинаковые.. Он сказал что в столбце могут встречаться одинаковые значения
 
Да, чего-то заголовок прочитал и дальше мысль не пошла :|
 
Beavis
не факт что автор это имел ввиду, тут можно по разному трактовать, так как "в столбце таблицы", а не поля. Не понятно.

подскажите как это можно реализовать по другому
интересно, по другому относительно чего?

dima333
более подробно опиши что есть и что нужно получить, тогда и ответ будет.
 
В столбце фамилия, могут встрецаться одинаковые фамилии, так вот как мне найти все повторяющиеся фамилии???
 
Beavis
C помощью запроса select count(*) group by это можно реализовать???

Он будетт выводить только повторяющиеся фамилии??? Или он выведит повторяющиеся, а потом еще и остальные???
 
Можно вытащить все из БД в массив, сделать array_unique, и все , что пропадет из массива - повтор ( однако это уже немного извращенство, + потребуется память )
 
Он будетт выводить только повторяющиеся фамилии??? Или он выведит повторяющиеся, а потом еще и остальные???
Ой, не знаю, я тоже, как и вы, очень боюсь эеспериментов.
 
Вот часть кода:
$sql = "SELECT count( * )>1 FROM `soiskatel` GROUP BY `fam` ";
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_assoc($result) )
{
print "$row[fam] <br>";
}

В результате все равно получается не то что нужно.
Надо чтобы в результате вывелась та фамилия которая встречается в базе не один раз.
Что посоветуете???
 
Вставил я это в запрос:
$sql = "select fam, count(*) as howmatch from soiskatel group by fam ";
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_assoc($result) )
{
print "$row[fam] <br>";
}

Так он наоборот все повторения не показал. Надо чтобы показал только те фамилии которые повторяются.
 
Ну так это ж квест, теперь надо подумать. Направление есть.
У вас понимание есть, что вообще этот запрос находить должен? Если нету, на mysql.com есть мануал, и даже на русском.
 
раз обещал
[sql]select fam, count(*) as howmatch from soiskatel group by fam having howmatch > 1
[/sql]
 
Балиннн Gas спасибо тебе большое!!!!
Ты настоящий друг. Неплохо выручил.
 
Сверху