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

'the'を無視するカスタムORDERBY

    これを行うには、計算列を用意して、計算列にインデックスを付け、それによって順序付けできるようにするのが最善です。そうしないと、並べ替えに多くの作業が必要になります。

    したがって、計算列は次のようになります。

    CASE WHEN title LIKE 'The %' THEN stuff(title,1,4,'') + ', The' ELSE title END
    

    編集:STUFFがMySQLで使用できない場合は、RIGHTまたはSUBSTRINGを使用して先頭の4文字を削除します。ただし、可能であれば計算列を使用するようにしてください。そうすれば、インデックス作成が改善されます。 「A」と「An」を削除する場合も同じロジックを適用できます。

    ロブ



    1. [ビデオ]PostgreSQLのJSONデータ型の紹介

    2. PostgreSQLテーブルのIDのシーケンスをリセットする方法

    3. このクエリからのSQLインジェクションを防ぐ方法は?

    4. PHP/ODBCエンコーディングの問題