2014-09-29 54 views
0

我正在開發一個教育網站,需要按數字範圍進行排序。我需要一些關於如何將數據分類到如下列出的範圍的幫助。 581是最高的,604是最低的。它從604到582,並用1到581在多個範圍使用排序數字MySQL

(Highest) 581 580 579. . . 3  2 1 582  . . . 602  603  604 (Lowest) 

回答

1

這裏有一個想法重新開始......

SELECT * FROM ints; 
+---+ 
| i | 
+---+ 
| 0 | 
| 1 | 
| 2 | 
| 3 | 
| 4 | 
| 5 | 
| 6 | 
| 7 | 
| 8 | 
| 9 | 
+---+ 

SELECT i,CASE WHEN i < 5 THEN 1000-i ELSE i END x FROM ints ORDER BY x; 
+---+------+ 
| i | x | 
+---+------+ 
| 5 | 5 | 
| 6 | 6 | 
| 7 | 7 | 
| 8 | 8 | 
| 9 | 9 | 
| 4 | 996 | 
| 3 | 997 | 
| 2 | 998 | 
| 1 | 999 | 
| 0 | 1000 | 
+---+------+ 

你也可以寫爲...

SELECT i FROM ints ORDER BY CASE WHEN i < 5 THEN 1000-i ELSE i END;