-1
我怎樣才能在MySQL訂購等如何訂購這樣在MySQL
1 1/2 2 3/1 3/2 3/12 5/1 5 13/1 7
當我或DER它帶來11/2 13/1 befor 5
格式是X/X whre x爲數字
我怎樣才能在MySQL訂購等如何訂購這樣在MySQL
1 1/2 2 3/1 3/2 3/12 5/1 5 13/1 7
當我或DER它帶來11/2 13/1 befor 5
格式是X/X whre x爲數字
我認爲你需要列分成兩個單獨的列。我絕不是一個MySQL專家,你可能不得不把它包含在一個子查詢中或者用其他方式來處理它,正如我們已經討論的那樣,你需要把這些從字符串轉換成整數(我似乎無法做到安裝上的MySQL這個工作我有,但我從來沒有使用它):
select
SUBSTRING_INDEX(a,'/',1) as PartA,
CASE WHEN LOCATE('/',a) > 0 THEN SUBSTRING_INDEX(a,'/',-1) ELSE '0' END as PartB
from
<rest of query>
哪裏a
是本專欄的名稱。就像我說的,我似乎無法理解將這些值轉換爲整數的MySQL語法,顯然,我們需要應用ORDER BY子句。
很抱歉,這是一個不完整的答案,但希望它會指向你在正確的方向,並沒有其他人似乎是在回答...
基於我剛纔看到您的評論,我認爲我們可以通過數字得到它們:
select
CAST(SUBSTRING_INDEX(a,'/',1) as decimal) as PartA,
CAST(CASE WHEN LOCATE('/',a) > 0 THEN SUBSTRING_INDEX(a,'/',-1) ELSE '0' END as decimal) as PartB
from
<rest of query>
因此,你有一個varchar?包含1或2個整數的列(如果是2個整數,則它們用'/'分隔),並且您希望使用此列對結果進行排序 - 按第一個整數進行數值排序,如果存在,則按第二個整數排序整數? –
是的,這是偉大的 – Nueng
ORDER BY CAST(houeNo作爲十進制)我嘗試這個,但它不工作正確 – Nueng