[mysql] выборка одинаковых значений

Статус
В этой теме нельзя размещать новые ответы.

zaartix

Постоялец
Регистрация
15 Май 2006
Сообщения
73
Реакции
27
есть таблица слов, одно из полей - к примеру значение soundex для слова. Как выбрать все слова, у которых одинаковые soundex?
 
soundex задается заранее и надо выбрать слова у которых именно этот soundex или надо выбирать все комплекты - типа комплект с первым soundex, комплект c другим soundex и так до конца вариантов?
если soundex знаешь заранее тогда
select * from word_table where soundex='заранее_заданный'

если не знаешь заранее то с подзапросом, кстати а версия какая mysql?
 
  • Заблокирован
  • #3
меняй и используй.
select * from forum_users
where group_id in (select group_id from forum_users group by group_id having count(group_id) > 1)
order by group_id

group_id - поле содержащие одинаковые значения и не только
 
меняй и используй.
select * from forum_users
where group_id in (select group_id from forum_users group by group_id having count(group_id) > 1)
order by group_id

group_id - поле содержащие одинаковые значения и не только

Не рекомендую делать вложенные подзапросы в MySQL. Нереально медленно работает на больших наборах данных. У меня в CMS выборка из таблицы, в которой было 2000 строк с использованием подзапроса длилось 20 секунд. Разделил подзапросы на два запроса - в итоге менее секунды.

И я, кстати, не одинок

 
  • Заблокирован
  • #5
на Оракле показывает иное... Ведь запрос выполняется с низу вверх. В мускле не писал такого - думал что и тут тот же принцип. gregzem - Возможно в запросе использовался "not" ?
 
Если кому актуально я пользовал таким запросом

select count(FIELD) from TABLE group by FIELD having count(FIELD)>1;
вместо FIELD и TABLE свои данные.
хорош тем что не имеет запросов в запросе, насчет скорости выполнения не проверял, но должно работать без проблем.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху