Ako*_*kos 4 php mysql select numbers sql-order-by
我的PHP代码中有一个简单的mysql select查询:
$result = mysql_query("SELECT text FROM example ORDER BY rank DESC");
while($row = mysql_fetch_array($result))
{
echo $row['text'] . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
和这个MySql表:
text | rank
--------+--------
google | 245
--------+--------
yahoo | 32
--------+--------
bing | 12
Run Code Online (Sandbox Code Playgroud)
当我从查询中获得结果时,会显示以下内容:
yahoo
google
bing
Run Code Online (Sandbox Code Playgroud)
我希望谷歌站在前面.我认为雅虎首先是因为它以"3"开头.
我如何通过排名中的数字大小来查询结果?
谢谢...
当然,正确的解决方案是使用正确的数据类型.作为一种解决方法,您可以动态地将数据转换为数字:
SELECT text FROM example ORDER BY rank + 0 DESC
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT text FROM example ORDER BY cast(rank as unsigned) DESC
Run Code Online (Sandbox Code Playgroud)