我需要做的是从课堂,实验室,演讲厅,礼堂和礼堂中排序。然后我需要做的是按照他们的ID来安排他们。所以对于教室,我从1开始上升。在ORDER BY CASE中使用ASC/DESC()
我使用的唯一字段是roomID和类型列。 (应该改变类型看它是怎么样的一个SQL函数吧?)
SELECT *
FROM `rooms`
ORDER BY CASE WHEN `type` = 'Classroom'
THEN 1
WHEN `type` = 'Computer laboratory'
THEN 2
WHEN `type` = 'Lecture Hall'
THEN 3
WHEN `type` = 'Auditorium'
THEN 4
END
看起来很简单,但我不能得到它的工作。所以,任何帮助将不胜感激,特别是因为这可能是一个愚蠢的问题。
+1 @spinon你可能是对的,但我怀疑这不适用于不同的dB。例如一些你的需求和一些地方赛义德阿卜杜勒拉赫曼的是 – 2011-01-06 17:18:51
它的工作!最后一行应该是ORDER BY roomID,但是谢谢。所以如果我需要通过ASC或DESC来订购任何东西,我必须首先对其他CASE进行“分组”。 – 2011-01-06 17:18:59