Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да премахнете дублиращия се ред, имайки предвид арабската фонетика

Има много начини да постигнете това.

1- Можете или да изберете вашите редове от базата данни, да ги прегледате и да запазите заглавието „дума“ в масив и във всяка итерация в цикъла можете да проверите дали подобна стойност е in_array() . Ако стойността съществува, тогава можете да запишете идентификатора в друг масив и след това да използвате тези идентификатори за изтриване от базата данни.

2- Друг начин за извличане на идентификаторите е да използвате заявка, подобна на следната:

изберете брой(*), идентификатор от група таблица по заглавие

След това можете да преминете през резултатите и да изтриете реда (като използвате идентификаторите), където броят е по-голям от 1.

Основната концепция и в двата (и в други методи) е, че просто трябва да съпоставите низовете. Фонетиката на буквите променя действителния низ, така че "سَلام" не е равно на "سلام".

Като странична бележка има страхотна библиотека на арабски PHP, която можете да използвате за различни манипулации на низове, свързани с арабски:PHP и арабски език .

По този начин ще премахнете само един дубликат.

Има няколко други начина да го направите и всичко зависи от размера на набора от данни, който имате и дали изтриването на тези дубликати е еднократно или често, защото ще трябва да имате предвид производителността.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчисляване кои точки (ширина, дължина) са на определено разстояние в mysql?

  2. mysqldump - Експортирайте структура само без автоматично инкремент

  3. PHP скрипт за последно влизане

  4. Използвайки MySql, мога ли да сортирам колона, но 0 да е последна?

  5. PHP и MYSQL, показващи 1 запис с множество имена