「VistaからXPにアップグレードする」などといわれているVistaですが、SP1が11月にでるっぽい?でたら使えるようになるっぽい?
というわけでORDER BYですが、よく使うのは「ORDER BY ASC」「ORDER BY DESC」だと思います。
でも、実は「ORDER BY 条件」ってできるっぽいです。
例えば(SQLITEですが)
create table test (id integer primary key, name blob, number integer);
insert into test (name,number) values("a", 10);
insert into test (name,number) values("b", 11);
insert into test (name,number) values("c", 12);
insert into test (name,number) values("d", 100);
insert into test (name,number) values("e", 101);
insert into test (name,number) values("f", 102);
insert into test (name,number) values("g", 1000);
insert into test (name,number) values("h", 1001);
insert into test (name,number) values("i", 1002);
insert into test (name,number) values("j", 13);
insert into test (name,number) values("k", 14);
insert into test (name,number) values("l", 15);
に対して
select * from test order by number >= 10 and number <= 101 DESC;
id name number
---------- ---------- ----------
1 a 10
2 b 11
3 c 12
4 d 100
5 e 101
10 j 13
11 k 14
12 l 15
6 f 102
7 g 1000
8 h 1001
9 i 1002
となります。つまり、ORDER BYの後に続く条件に見合うものが上位に来る感じです。
SQLITEの場合、比較が文字列比較になってるところがあるらしく、SQLITE3とSQLITE2で微妙に結果が異なります。
MySQLとかだとまたちょっと違う結果になるかもしれませんが、条件に見合うものを上位に持ってくることが可能です。
以上