如果您的号码低于0且大于0,您如何按号码订购?
示例MysqL表:
|Name|Karma| __________ |Me | -8 | |Bill| 5 | |Tom | 2 | |Saly| 0 | |San.| -3 |
示例选择查询
$sql="SELECT karma FROM table ORDER BY karma DESC";
我得到的结果是这个(用逗号分隔):5,2,-8,-3.
不应该是5,-3,-8?
我在互联网上的某处发现MysqL按字符串排序.如何按号码订购?
如果你将它变成一个字符串,即一个varchar列,将以字符串的形式订购Karma.
将列转换为INT,它将以数字顺序排序.
您还可以选择不更改表,但在排序时将列转换为正确的类型:
SELECT karma FROM table ORDER BY CAST(karma AS int) DESC
但这对性能不利.