У меня есть таблица с именем столбца company_name (строка), мне нужно найти повторяющиеся значения этого столбца, я не могу использовать отдельные или группы, потому что они не совсем одинаковы. Например:
atec,inc
atec inc
ate inc
abc group
abc groups
abc grups
как мне найти такие записи в sql или есть какие-либо библиотеки ruby для этого.
Если какой-либо шаблон для вариаций вы можете попробовать с помощью регулярных выражений, которые MySQL, похоже, поддерживает (мы используем Postgres, что определенно делает):
http://dev.mysql.com/doc/refman/5.1/en/regexp.html
Если это не так, я боюсь, что вам придется делать это в своем приложении. Как упоминал Пит, существуют различные алгоритмы поиска похожих звуков, мы используем/использовали для этого расстояние Левенштейна, расстояния Хэмминга симх и фонетического кодирования Кёльнера.
Это было бы идеальное использование для функционального индекса, но поскольку я не думаю, что у MySQL есть один из них, могу ли я предложить полный поиск текста в MySQL?
http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
В частности, логический поиск:
http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html
Кроме того, если вы не знакомы с созданием слов, это мощная концепция, которая также поможет вам увеличить поиск вашего поиска.
Надеюсь, что это поможет.
Я не знаю, что у SQL есть SELECT WHERE A SORTA_OF_LIKE B, но посмотрите "расстояние Левенштейна", возможно, способ сделать сортировку "что вы хотите".
SELECT record FROM myrecords WHERE record ~ 'A';
, oreilly.com/pub/a/databases/2006/02/02/postgresq_regexes.html