我试图按字段排序,并在than语句时按大小写排序。如果case为ns,则日期应为asc,时间应为asc,如果case为pp,则日期应为asc,时间应为asc,如果case为done,则日期应为desc,时间应为asc,
ns未启动,pp推迟,done已完成,
我的代码:
select * from matches
where tournament_id = 12
order by FIELD(matches.status_key, 'ns', 'done', 'pp'),
CASE WHEN matches.status_key = 'ns' THEN ('matches.date ASC, matches.time ASC') END,
CASE WHEN matches.status_key = 'pp' THEN ('matches.date ASC, matches.time ASC') END,
CASE WHEN matches.status_key = 'done' THEN ('matches.date DESC, matches.time ASC') END;
我猜这是一个错误的方法,我需要一些指导,建议,帮助解决问题。
谢谢您
1条答案
按热度按时间cuxqih211#
我认为应该这样做: