Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Classificação condicional no MySQL?


Você pode tentar ORDER BY (done asc, aux desc) onde aux é calculado com um CASE para gerar prioridade ou data com base no valor de done (você pode ter que convertê-los para o mesmo tipo para caber na mesma expressão, por exemplo, converter a data para um número de dia inteiro adequado).

Por exemplo:
SELECT * FROM tab
ORDER BY done desc,
         case done
             when 0 then prio 
             else to_days(thedate)
         end desc;