Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak usunąć zduplikowany wiersz, biorąc pod uwagę arabską fonetykę?

Można to osiągnąć na wiele sposobów.

1- Możesz wybrać swoje wiersze z bazy danych, przejść przez nie i zapisać tytuł „słowo” w tablicy, a w każdej iteracji w pętli możesz sprawdzić, czy podobna wartość to in_array() . Jeśli wartość istnieje, możesz zapisać identyfikator w innej tablicy, a następnie użyć tych identyfikatorów do usunięcia z bazy danych.

2- Innym sposobem wyodrębnienia identyfikatorów jest użycie zapytania podobnego do poniższego:

wybierz count(*), id z grupy tabel według tytułu

Następnie możesz przeglądać wyniki w pętli i usunąć wiersz (za pomocą identyfikatorów), w którym liczba jest większa niż 1.

Podstawowa koncepcja w obu metodach (i innych metodach) polega na tym, że wystarczy dopasować ciągi. Fonetyka liter zmienia rzeczywisty ciąg, więc „سَلام” nie jest równe „سلام”.

Na marginesie, istnieje świetna arabska biblioteka PHP, której możesz użyć do różnych manipulacji ciągami znaków związanych z językiem arabskim:PHP i język arabski .

W ten sposób usuniesz tylko jeden duplikat.

Można to zrobić na kilka innych sposobów, a wszystko zależy od rozmiaru posiadanego zestawu danych oraz od tego, czy usunięcie tych duplikatów jest czynnością jednorazową, czy częstą, ponieważ trzeba pamiętać o wydajności.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak uzyskać identyfikator ostatniego wstawienia po zapytaniu o wstawienie w aktywnym rekordzie codeigniter

  2. MySql wybierający wartość domyślną, jeśli nie ma wyników?

  3. Uruchamianie plików MySQL *.sql w PHP

  4. Jak zoptymalizować to proste zapytanie Mysql

  5. Sole haseł — czy robię to dobrze?