sql >> Databasteknik >  >> RDS >> Mysql

Sortera efter Soundex (eller liknande) `Närhet`

Soundex är inte bra för den här typen av saker eftersom olika ord kan ge dig samma Soundex-resultat och kommer därför att sortera godtyckligt. En bättre lösning för detta är Levenshein Edit Distance-algoritmen och du kanske kan implementera den som en funktion i din databas:Länk till Levensheint impl. som MySql-lagrad funktion !!!

Du kan också kolla in den här SO-länken . Den innehåller en SQL-server (T-SQL-specifik) implementering av algoritmen men den bör vara möjlig att porta. Mekaniken i algoritmen är ganska enkel och behöver bara en 2D-array och looping över sträng.




  1. Hur sparar man Unicode-data till Oracle?

  2. Laravel:Hur man använder flera pivottabellrelationer

  3. välja data från tabell baserat på datum

  4. Hur använder man pg_stat_activity?