sql >> Database >  >> RDS >> Mysql

SQL SELECT ORDER BY meerdere kolommen afhankelijk van de waarde van de andere kolom

In uw huidige zoekopdracht sorteert u op de som van de vier kolommen. U kunt least gebruiken om de laagste waarde te krijgen, zodat uw bestelling per clausule er als volgt uit kan zien:

SELECT *
FROM vehicle
ORDER BY
  `revisit` DESC,
  CASE WHEN `revisit` = 1 THEN LEAST(`FL`, `FR`, `RR`, `RL`) END ASC,
  CASE WHEN `revisit` = 0 THEN `date` END ASC

Dit zou natuurlijk alleen op de laagste waarde sorteren. Als twee rijen beide dezelfde laagste waarde zouden hebben, wordt er niet gesorteerd op de op één na laagste waarde. Om dat te doen is een stuk moeilijker, en ik heb niet echt uit je vraag gehaald of je dat nodig hebt.




  1. Waarom krijg ik 'Binaire logging niet mogelijk'. op mijn MySQL-server?

  2. MySQL Selecteer rijen met een toets of val terug om standaardtoets te selecteren

  3. Sorteren als Hacker News

  4. Hoe kan ik zien hoeveel MySQL-verbindingen open zijn?