Soundex is niet goed voor dit soort dingen omdat verschillende woorden u dezelfde Soundex-resultaten kunnen geven en daarom willekeurig zullen sorteren. Een betere oplossing hiervoor is het Levenshein Edit Distance-algoritme en u kunt het mogelijk als een functie in uw database implementeren:Link naar Levensheint impl. als MySql opgeslagen functie !!!
Je kunt ook deze SO-link bekijken . Het bevat een Sql-server (T-SQL-specifiek) implementatie van het algoritme, maar het moet mogelijk zijn om te poorten. De mechanica van het algoritme is vrij eenvoudig en heeft alleen een 2D-array nodig en een lus over een string.