ステータス部分の優先順位を付けたいと思います。すべてのものは、最初に現れなければならない。関係なく、日付。しかし、今、それは日付後にeveythingを注文します。どのように私は最初のケース 'repportedパート'の優先順位をつけることができますか?残りのリストは日付の後に表示されます。mysqlの優先順位付けケース
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.DAYOFWEEK() '](https://dev.mysql.com/doc/refman/5.5/en/date-us/)のような関数でメッシュを整えるために、 and-time-functions.html#function_dayofweek)。なぜこれをしないのかの例は、あなたのコードが木曜日に行われた何も処理できず、そのバグを追跡することが完全な不満の練習になる可能性があるということです。 – tadman
ありがとうございます。しかし、それは私がrepportedパートの優先順位をつけるのに役立つわけではありません。 –
あなたはあまりにもあなたのスペルミスと結婚する前に、予期された出力を投稿するといいかもしれません。 – maSTAShuFu