これはMySQL5で正常に機能します。
SELECT INSTR(foo, 'Bar') as foobar
FROM Table
ORDER BY CASE WHEN foobar = 1 THEN foo END DESC;
MySQL 4のBuでは、次のエラーが発生します。
ERROR 1054 (42S22): Unknown column 'foobar' in 'order clause'
ただし、句をこれに変更すると、両方のバージョンで機能します。
SELECT INSTR(foo, 'Bar') as foobar
FROM Table
ORDER BY CASE WHEN INSTR(foo, 'Bar') = 1 THEN foo END DESC;
互換性を確保するために、常に2番目の方法を使用する必要がありますか?