2015-12-02 81 views
1

我需要按照項目編號的升序對錶進行排序。我的表有幾行數據,其中包含一個名爲項目編號的列。下面的文本顯示了我的表中的一部分行。以數字順序訂購,然後在MySQL中按字母順序排序

-- project number -- 
     1199.7 
     1053.2 
     1020 
     1023-D 
     1023-C 
     1023-B 
     50 
     34.3T 
     870-W 

這是我在笨查詢:

$this->db->select('Project'); 
$this->db->from('`active_projects`'); 
$this->db->order_by('Project'); 

Project是有問題的列。任何人都可以幫助我修改我的查詢,以便按照數字排序並按字母順序升序排列嗎?

換句話說,正確的排序應該是這樣的:

-- project number -- 
     50 
     34.3T 
     870-W 
     1020 
     1023-B 
     1023-C 
     1023-D 
     1053.2 
     1199.7 

回答

2

的MySQL確實從字符串到數字,當一個字符串是在運算環境中使用無提示轉換。

這對您想要做的事非常方便。你可以這樣做:

order by project + 0, project