MYSQL 数字排序


MYSQL number sorting

>我有一个网站,它通过mysql托管iOS应用程序的一些数据,它有一些升序和降序数字,它们显示为1,11,12,13等,2,2,20,21,22等。

这是管理网站上的排序功能,应转换为 iOS 应用程序的 JSON 响应...

function sortPage($pageName,$sortBy,$sortOrder, $qry = '' ){
    $getParameters = "$pageName?sortBy=$sortBy&sortOrder=$sortOrder";   
    if($catID!=''){
        $getParameters .="&catID=$catID";
    }   
    if($extraParams!=''){
        $getParameters .='&'.$extraParams;
    }
    if( $qry != '') 
        $getParameters .= $qry ;
    $url ="<a href='$getParameters' style='text-decoration:none'>";
    if($sortOrder=='ASC'){  
        $url .="<img src='".HOST."images/up-arrow.gif' width='8' height='4' border='0' />";
    }else{
        $url .="<img src='".HOST."images/down-arrow.gif' width='8' height='4' border='0'/>";
    }
    $url .="</a>";
    return $url;
}

我是否需要更改结构类型以使其不以这种方式排序?它目前是 int(11)。

从屏幕截图中我可以看到这不是int(11)列,而是某种字符串类型。

使用此查询,您可以欺骗MySQL首先对带有数字的那些进行排序,如果这是您想要的。当数字位于值的左侧时,这将起作用:

select * from sections
order by 0+name, name