sql >> Database teknologi >  >> RDS >> Mysql

Betinget sortering i MySQL?

Du kan prøve ORDER BY (done asc, aux desc) hvor aux beregnes med en CASE for at give enten prioritet eller dato baseret på værdien af ​​done (du skal muligvis caste dem til den samme type for at passe ind i det samme udtryk, f.eks. cast datoen til et passende heltals dagtal).

For eksempel:

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


  1. Gruppér efter klausul i mySQL og postgreSQL, hvorfor fejlen i postgreSQL?

  2. mysql opdateringsforespørgsel med underforespørgsel

  3. SQL SERVER – Et trick til at håndtere dynamisk SQL for at undgå SQL-injektionsangreb?

  4. JavaFX MySQL-forbindelseseksempel tak