欄位server_id是varchar型別,查詢時以server_id排序,排序結果有問題?
select server_id from cardserver where game_id = 1order by server_id desc limit 10;
原因是:資料庫根據字串排序,10也排在9之後了。
解決辦法:把字串型別轉換為數值型別;
方法一:server_id+0後再排序
方法二:使用mysql函式cast/convert
cast(server_id as signed)
或者convert(server_id,signed)
mysql中欄位型別轉換排序
表中字段server id是varchar型別,現在我們查詢資料時想以server id排一下序,排序後的結果 select server id from cardserver where game id 1 order by server id desc limit 10 server id 8 ...
mysql中欄位型別轉換排序
size medium 表中字段server id是varchar型別,現在我們查詢資料時想以server id排一下序,排序後的結果 select server id from cardserver where game id 1 order by server id desc limit 10 ...
mysql 查詢varchar型別字段排序
首先,如果裡面存的是字母,會按 英文本母 順序排序,如果含有數字,按數字大小排序,如果含有漢字,按照所選擇的 漢字編碼 排序。一般情況下,int型別的字段可以直接使用max 函式查詢出某一列的最大值,但是對於varchar型的字段,我們有的時候需要排序或查最大值,直接用max 函式查最大值,會發現值...