• ベストアンサー

SELECT文のソートについて

SQLのSELECT文で抽出した列Aの値が、例えば1~12であるとして、それを4~12、1~3という具合にソートしたいのですがやり方がわかりません。 ORDER BY句を使えばいいのか、それとも全く別の方法を使うのか教えてください。 よろしくお願いします。

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

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

アクセスで、後々の応用を考えたら order by iif(A>=4,0,1) ,A がわかりやすいかも。 Select iif(A>=4,0,1) as Skey ,A from table をすると意味がわかるんじゃないかと。

shaka001
質問者

お礼

応用までは考えていなかったので、助かりました。 ありがとうございます。

その他の回答 (3)

  • kztk
  • ベストアンサー率53% (59/110)
回答No.3

select A from [テーブル名] order by (A+8) mod 12

shaka001
質問者

お礼

ありがとうございます。 勉強になりました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

select * from table order by a<4 ASC,a ASC

shaka001
質問者

補足

教えていただいた上記クエリを実行したのですが、1~12の順に表示されてしまいました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

select * from(atable) order by mod(a+8,12);

shaka001
質問者

補足

select * from [テーブル名] order by mod(列A+8,12); としたのですが、演算子がありませんとエラーが出てしまいました。 ちなみに、DBはaccessです。

関連するQ&A