Есть у меня таблица текстов.
К каждому есть шинглы - храню каждый шингл в отдельной таблице.
Хочу добавить новый текст в базу - делаю шинглы для него и надо сравнить из с теми что уже есть, т.е. найти совпадения(пересечения).
Как это сделать средствами mysql т.е. в php к примеру это array_intersect ?
Спасибо.
база - таблица с шинглами, каждый шингл отдельное поле
shingle
2346056392
1278207317
3692288449
3692288449
ну и так далее
получаю шинглы от нового текста array(1769891607,525791621.....)
Хочу получить количество одинаковых шинглов
Benderlidze: 1.как формируете шингл (на основе чего)?
2. кол-во одинаковых: где именно: между массивом и находящимися в таблице (или еще как-то)?
можно использовать для таблицы SELECT DISTINCT ...
а затем цикл ( https://dev.mysql.com/doc/refman/5.5/en/flow-contr... ) с WHERE IN (1232313,12312312312,3213123,......)
xmoonlight: 1. не совсем понял вопрос. есть текст на основе него и формирую шинглы. и есть тексты в базе с уже сформированными шинглами которые в соотв таблице лежат
2. одинаковых да - между массивом шинглов нового текста и таблицей шинглов всех текстов которые уже в БД.