すみません、知恵を貸してください。

現在、items(仮)というテーブル(id, name)からnameを条件にレコードを検索し、
will_paginateを使用して表示している機能があります。

その機能を、検索条件との「完全一致」「前方一致」「部分一致」の順に並び替えたいのですが、
なにかいい方法はないでしょうか…?

複雑なSQLを書けばいけるとは思いますが、何か他に方法がないか模索してします。