How do you order by number if your number can fall below and be bigger than 0?
Example Mysql table:
|Name|Karma|
__________
|Me | -8 |
|Bill| 5 |
|Tom | 2 |
|Saly| 0 |
|San.| -3 |
Example select query
$sql="SELECT karma FROM table ORDER BY karma DESC";
The result I get is this (separated by comma): 5,2,0,-8,-3.
Shouldn’t it be 5,2,0,-3,-8?
I discovered somewhere in the internet that mysql orders by string. How to make it order by number?
Karmawill be ordered as a string if you have made it a string, i.e. avarcharcolumn.Convert the column to a
INT, and it will order numerically.You also have the option of not changing the table, but casting the column into the right type while sorting:
but that is bad for performance.