0
我在一個過程中返回一個巨大的select,我不想定義它是如何定序的。 我wan't選擇三種領域之一,它是否會上升或下降,如果沒有的三個選項被定義,默認情況下它降序在ORDER BY(MySQL)中使用'case'
這樣
ORDER BY
CASE option1
WHEN 0 THEN
CASE option2
WHEN 0 THEN firstField DESC
WHEN 1 THEN firstField ASC
END
WHEN 1 THEN
CASE option2
WHEN 0 THEN secondField DESC
WHEN 1 THEN secondField ASC
END
WHEN 2 THEN
CASE option2
WHEN 0 THEN thirdField DESC
WHEN 1 THEN thirdField ASC
END
ELSE
firstField DESC
END
END;
返回的第一個字段當然,這不起作用...... mysql在單詞'DESC'和'ASC'中引入錯誤,我怎麼能使這個工作?
你可以使用動態查詢來生成你想要的?因爲你必須在每個CASE的END子句之後指定DESC或ASC! – Neels 2014-09-19 13:28:59
我不知道,它是如何工作的? – 2014-09-19 13:31:07
什麼是字段類型? – Mureinik 2014-09-19 13:32:27