[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск в базе
freaky
Здравствуйте. Подскажи как сделать вывод из базы одинаковых данных в определёном поле, например в таблице table_one есть несколько записей, поле name, и в некоторых записях поле name совпадает, как их найти!?



Спустя 3 минуты, 33 секунды (19.06.2010 - 00:47) waldicom написал(а):
count и group by - вот твои товарищи

Спустя 4 минуты, 45 секунд (19.06.2010 - 00:52) Ice написал(а):
смотря что имеется ввиду. вывести сами записи или же их количество, либо группировку. Со вторым уже подсказали, а если сами записми, то :
SELECT * FROM tabl_one WHERE name='совпадающее значение'

Спустя 1 час, 11 минут, 20 секунд (19.06.2010 - 02:03) waldicom написал(а):
Цитата (Ice @ 18.06.2010 - 23:52)
смотря что имеется ввиду. вывести сами записи или же их количество, либо группировку. Со вторым уже подсказали, а если сами записми, то :
SELECT * FROM tabl_one WHERE name='совпадающее значение'

Смысл выводить поле со значением "совпадающее значение", если это значение и так известно?

Спустя 1 час, 18 минут, 53 секунды (19.06.2010 - 03:22) Ice написал(а):
Цитата (waldicom @ 19.06.2010 - 03:03)
Цитата (Ice @ 18.06.2010 - 23:52)
смотря что имеется ввиду. вывести сами записи или же их количество, либо группировку. Со вторым уже подсказали, а если сами записми, то :
SELECT * FROM tabl_one WHERE name='совпадающее значение'

Смысл выводить поле со значением "совпадающее значение", если это значение и так известно?

я имел ввиду, ну, к примеру получить всё по книгам из раздела РНР, а звездочка использована для схематического упрощения.


SELECT author, title, pubyear
FROM books
WHERE name='PHP'

Спустя 8 часов, 1 минута, 18 секунд (19.06.2010 - 11:23) dr_Lev написал(а):
Я так понял, нужно найти дубликаты по полю name:
SELECT name FROM table_one GROUP BY name HAVING COUNT(name)>1


Ну и дальше можно вытянуть всю информацию о дубликатах :
SELECT * FROM table_one WHERE name IN (SELECT name FROM table_one GROUP BY name HAVING COUNT(name)>1)


Или можно еще сделать так :
SELECT * FROM table_one t1 RIGHT JOIN (SELECT name, count(*) AS cnt FROM table_one GROUP BY name) t2 ON t1.name = t2.name AND t.cnt > 1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.