つまり上の例からSQL文で取得した結果を id name point date 4 え 0 5月27日 (3日以内のものが上にきている) 5 お 10 5月26日 (3日以内) 3 う 22 5月5日 (↓それ以外はpointの降順) 1 あ 5 5月1日 2 い 1 5月16日 という風にしたいのです。しかし、SQL文が思いつきません。 select * from ( (select * from テーブル名 where (検索条件) and dateが3日以内 ) UNION (select * from テーブル名 where (検索条件) ) ) order by date desc , point desc; のようにしても、dateの降順になるだけでした。 (検索条件)というのは今回ある条件でレコードを引っ張ってくるので その条件のことなのですが、これは非常に処理が重く なんとか1回ですませられないかとも思っています。