質問するログイン新規登録

回答編集履歴

1

回答内容をわかりやすいように加筆修正しました。

2015/02/26 16:47

投稿

HachiyaKouya
HachiyaKouya

スコア85

answer CHANGED
@@ -1,14 +1,14 @@
1
- 力技になりますが、他のユニークにできる項目合わせたデータでORDER BYをするとかいう手もあります。
1
+ 他の項目と合わせてユニークにできるのであれば、複数項目を組み合わせたでORDER BYをするとかいう手もあります。
2
2
  以下はサンプルです。テーブル名が「DATA」で「SCORE」が得点、「ID」は成績表であれば学籍番号みたいなものをイメージしています。
3
3
  > SELECT TOP 10 ID
4
4
  > FROM DATA
5
5
  > ORDER BY RIGHT("000000" & SCORE,6) & RIGHT("000000" & ID,6) DESC;
6
6
  上記のサンプルはSCORE降順・ID降順で上位10件です。
7
- ID昇順にしたいのであれば
7
+ SCORE降順・ID昇順にしたいのであれば
8
8
  > ORDER BY RIGHT("000000" & SCORE,6) & RIGHT("000000" & ID,6) DESC;
9
9
 
10
10
  > ORDER BY RIGHT("000000" & SCORE,6) & RIGHT("000000" & 999999 - ID,6) DESC;
11
11
  にするといけたりします。
12
12
  フォーマットを決めて複数の項目を組み合わせて文字列として比較するという発想です。
13
13
 
14
- 力技でスマートではないと思いますが。
14
+ 力技でスマートではないと思いますが。