Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como remover linha duplicada considerando a fonética árabe


Existem várias maneiras de conseguir isso.

1- Você pode selecionar suas linhas do banco de dados, fazer um loop por elas e salvar o título da 'palavra' em um array, e em cada iteração no loop, você pode verificar se um valor semelhante é in_array() . Se o valor existir, você poderá salvar o id em outra matriz e usar esses ids para excluir do banco de dados.

2- Outra forma de extrair os ids é usar uma query parecida com a abaixo:

selecione contagem(*), id do grupo de tabelas por título

Você pode então percorrer os resultados e excluir a linha (usando os ids) onde a contagem é maior que 1.

O conceito básico em ambos (e em outros métodos) é que você só precisa combinar as strings. A fonética das letras altera a string real para que "سَلام" não seja igual a "سلام".

Em uma nota lateral, há uma ótima biblioteca PHP em árabe que você pode usar para várias manipulações de strings relacionadas ao árabe:PHP e idioma árabe .

Dessa forma, apenas uma duplicata será removida.

Existem várias outras maneiras de fazer isso, e tudo depende do tamanho do conjunto de dados que você possui e se a exclusão dessas duplicatas é uma coisa única ou frequente, porque você terá que manter o desempenho em mente.