1. ホーム
  2. sql

[解決済み] MySQLのナチュラルソート

2023-04-06 20:46:29

質問

MySQL データベースで、パフォーマンスと自然なソートを行うためのエレガントな方法はありますか?

たとえば、このようなデータセットがある場合。

  • ファイナルファンタジー
  • ファイナルファンタジー4
  • ファイナルファンタジー10
  • ファイナルファンタジー12
  • ファイナルファンタジー12:プロマシアの鎖
  • ファイナルファンタジー アドベンチャー
  • ファイナルファンタジーオリジン
  • ファイナルファンタジータクティクス

その他 エレガント ゲーム名を構成要素に分割する以外の解決策があれば教えてください。

  • タイトル ファイナルファンタジー。
  • 番号 : "12"
  • サブタイトル : 「プロマシアの鎖」。

は、正しい順序で出てくるようにするため?(4の後の10、2の前ではない)。

そうすることは、時々、ゲーム タイトルを解析するそのメカニズムを壊す別のゲーム (たとえば "Warhammer 40,000" や "James Bond 007") があるため、面倒なことなのです。

どのように解決するのですか?

発売日順に並んでいるものが多いのは、このためだと思います。

解決策としては、テーブルに別の列を作成して、quot;SortKey" を指定することができます。これは、簡単にソートできるように作成したパターンに準拠するタイトルのサニタイズされたバージョン、またはカウンターにすることができます。