У меня есть таблица данных счетов-фактур с более чем 100 000 уникальных счетов и несколькими тысячами уникальных названий компаний, связанных с ними.
Я пытаюсь сгруппировать названия этих компаний в более общие группы, чтобы понять, сколько счетов они Вы отвечаете за то, как часто они их получают, и т. д. c.
В настоящее время я использую следующий код для определения уникальных названий компаний:
SELECT DISTINCT(company_name)
FROM invoice_data
ORDER BY company_name
Проблема в том, что это только дает мне точные совпадения, когда очевидно, что есть много строковых значений в company_name, которые похожи. Например: McDonalds Paddington, McDonlads Oxford Square, McDonalds Peckham и др. c.
Как я могу сделать оператором BY BY более общую формулировку?
Иногда проблема не так проста, как в примере, приведенном выше, иногда есть просто дополнительный пробел или PTY / LTD, который выбрасывает совпадение GROUP BY.
EDIT
Чтобы привести пример того, что я ищу, я хотел бы обратить внимание на следующее:
company_name
----------------------
Jim's Pizza Paddington|
Jim's Pizza Oxford |
McDonald's Peckham |
McDonald's Victoria |
-----------------------
И иметь возможность группировать по названию компании, а не исключительно с точным совпадением строк.