• ベストアンサー

PHP+MySQLで(特殊な)並べ替えをしたい

例えば、ランクSS~Cの値を格納しているカラムで、 SS>S>A>B>C のような順序でソートをかけたいのですが、 カラムの増設をせずに実現できる方法はありますでしょうか。 それともランクで並べ替える用のカラムを 加えなければできないでしょうか。 なるべくなら、純粋なデータのみをDBに格納して 一機能のためだけのフィールドを作るのは 避けたいと思っているのですが。 可否がわかるかたいらっしゃいましたら お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「order by」で「case」を使う方法があります。 【SQL例】 select name,rank from t1 order by case rank when 'SS' then 0 when 'A' then 1 when 'B' then 2 when 'C' then 3 end, name ;

Claudia
質問者

お礼

ありがとうございます、期待通り動きました!

関連するQ&A