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

dima333

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

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

kruglov

Новичок
Наличие одинаковых строк противоречит четвертой нормальной форме. Строки точно полностью одинаковые?

Запрос - select count(*) group by чего у вас там одинаковое.
 

Beavis

Banned
kruglov
Да никто и не говорил что строки одинаковые.. Он сказал что в столбце могут встречаться одинаковые значения
 

kruglov

Новичок
Да, чего-то заголовок прочитал и дальше мысль не пошла :|
 

Gas

может по одной?
Beavis
не факт что автор это имел ввиду, тут можно по разному трактовать, так как "в столбце таблицы", а не поля. Не понятно.

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

dima333
более подробно опиши что есть и что нужно получить, тогда и ответ будет.
 

dima333

Новичок
В столбце фамилия, могут встрецаться одинаковые фамилии, так вот как мне найти все повторяющиеся фамилии???
 

dima333

Новичок
Beavis
C помощью запроса select count(*) group by это можно реализовать???

Он будетт выводить только повторяющиеся фамилии??? Или он выведит повторяющиеся, а потом еще и остальные???
 

Farsh

~ on ~ high ~ wave ~
Можно вытащить все из БД в массив, сделать array_unique, и все , что пропадет из массива - повтор ( однако это уже немного извращенство, + потребуется память )
 

kruglov

Новичок
Он будетт выводить только повторяющиеся фамилии??? Или он выведит повторяющиеся, а потом еще и остальные???
Ой, не знаю, я тоже, как и вы, очень боюсь эеспериментов.
 

Gas

может по одной?
dima333
там ещё having count(*)>1 можно добавить чтоб вернулись только не уникальные фамилии.

Можно вытащить все из БД в массив
можно, но не нужно.
 

dima333

Новичок
Вот часть кода:
$sql = "SELECT count( * )>1 FROM `soiskatel` GROUP BY `fam` ";
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_assoc($result) )
{
print "$row[fam] <br>";
}

В результате все равно получается не то что нужно.
Надо чтобы в результате вывелась та фамилия которая встречается в базе не один раз.
Что посоветуете???
 

dima333

Новичок
Вставил я это в запрос:
$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>";
}

Так он наоборот все повторения не показал. Надо чтобы показал только те фамилии которые повторяются.
 

kruglov

Новичок
Ну так это ж квест, теперь надо подумать. Направление есть.
У вас понимание есть, что вообще этот запрос находить должен? Если нету, на mysql.com есть мануал, и даже на русском.
 

Gas

может по одной?
раз обещал
[sql]select fam, count(*) as howmatch from soiskatel group by fam having howmatch > 1
[/sql]
 

dima333

Новичок
Балиннн Gas спасибо тебе большое!!!!
Ты настоящий друг. Неплохо выручил.
 
Сверху