【MYSQL】ORDER BY 數字規則排序 / 解決

MYSQL中,在 ORDER BY 排序一個純數字的欄位時,
發生了一個奇妙的現象。

像是排序1~20時,會變成
=====
1
10
11
12
13
.
.
2
20
21
22
.
.
=====
 
此時,我們只要將該欄位的字串轉為數值,再進行排序即可
原字串排序

SELECT * FROM tablename ORDER BY `views` DESC;

修改後,數值排序

SELECT * FROM tablename ORDER BY CAST(`views` AS UNSIGNED) DESC;