我想優先考慮狀態部分。所有不被支持的東西都應該首先出現。無論日期。但現在,它會在日期之後訂購任何東西。我如何優先處理第一個案件'不支持的部分'?列表的其餘部分應該在日期之後出現。在mysql中優先考慮case
SELECT * FROM list
ORDER BY date DESC,
CASE
WHEN `bookings`.`status` = 'Not repported' THEN 1
WHEN day= 'Monday' THEN 2
WHEN day= 'Tuesday' THEN 3
WHEN day= 'Wednesday' THEN 4
WHEN day= 'Thursdau' THEN 5
WHEN day= 'Friday' THEN 6
WHEN day= 'Saturday' THEN 7 WHEN
day= 'Sunday' THEN 8 END ASC
limit 1,20 ";
我想要這樣的東西。
------------------------------
DATE----DAY-------STATUS------
2011---Monday-----Not reported
2015---Sunday-----Not reported
2010---Wednedday--Not reported
2016---Monday---------Reported
2015---Monday---------Reported
2014---Tuesday--------Reported
2013---Sunday---------Reported
------------------------------
作爲一個說明,像這樣的字面名稱存儲天是非常混亂。將它們存儲爲像1..7這樣的值可以更好地與['DAYOFWEEK()'](https://dev.mysql.com/doc/refman/5.5/en/date-和時間functions.html#function_dayofweek)。一個很好的例子是爲什麼不這樣做是因爲你的代碼無法處理週四完成的任何事情,並且追蹤這個錯誤可能是一個徹底的挫敗。 – tadman
謝謝。但是,它並沒有幫助我優先考慮沒有得到支持的部分。 –
您可能想要發佈預期的輸出,而不是推測 – maSTAShuFu