MySQLでテキストフィールドを数字と文字列として同時にソートする

データベースにはテキストフィールドがあり、データがテキストの場合はアルファベット順に表示され、データが数字の場合は数字として並べ替えられます。

必要な並べ替えの例:8、9、10、11、12、Android 2.2、Android 2.3、BlackBerry

1つのストアエンジン用の製品フィルターを開発するときに、同様の並べ替えが必要でした(広告に考慮しなければなりません)。これには、テキストデータと数値データの両方を含めることができます(例のように、同時に一緒にすることもあります)。

Googleはいくつかのひどいトリガーと正規表現のみを対象としていました。
ソリューションを提供することをお勧めします。

私の解決策(スパイするテキストを選択):
ORDER BY値= 0、-値DESC、値

Source: https://habr.com/ru/post/J139159/


All Articles