sql >> データベース >  >> RDS >> Mysql

アラビア語の音声学を考慮して重複する行を削除する方法

    これを実現するには複数の方法があります。

    1-データベースから行を選択し、それらをループして「単語」のタイトルを配列に保存し、ループの各反復で、同様の値が in_array() 。値が存在する場合は、IDを別の配列に保存し、これらのIDを使用してデータベースから削除できます。

    2- IDを抽出する別の方法は、以下のようなクエリを使用することです。

    select count(*)、id from table group by title

    次に、結果をループして、countが1より大きい行を(IDを使用して)削除できます。

    両方(および他の方法)の基本的な概念は、文字列を一致させるだけでよいということです。文字の音声学は実際の文字列を変更するため、「سَلام」は「سلام」と等しくありません。

    ちなみに、アラビア語に関連するさまざまな文字列操作に使用できる優れたアラビア語PHPライブラリがあります。PHPとアラビア語 。

    この方法では、重複が1つだけ削除されます。

    それを行うには他にもいくつかの方法がありますが、それはすべて、使用しているデータセットのサイズによって異なります。パフォーマンスを考慮しなければならないため、これらの重複を削除するのが1回限りか、頻繁に行うかによって異なります。



    1. Python経由でリモートMySQLに接続する

    2. MySQLはnow()(時刻ではなく日付のみ)を日時フィールドと比較します

    3. MariaDB – MySQL –使用可能でサポートされているすべてのエンジンを表示するためのエンジンの表示

    4. MySQLビューとインデックスの使用