J'ai ces données dans la table MySQL. J'ai besoin des résultats de la commande par condition:MySQL - ordre par deux colonnes avec condition
- si
effective_to
estNULL
, à montrent d'abord etorder by effective_from DESC
- si
effective_to
estNOT NULL
,order by effective_to DESC
mes données
name effective_from effective_to
person 01 1999-04-01 1999-05-31
person 02 1999-04-01 2000-07-06
person 03 1999-04-01 2000-09-25
person 04 1999-04-01 2000-09-25
person 07 1999-04-01 2000-09-25
person 05 2013-04-29 NULL
person 08 2010-06-17 2012-09-27
person 09 2010-12-02 2012-09-27
person 10 2017-02-10 NULL
person 11 2017-02-10 NULL
person 12 1999-04-01 2000-07-06
person 13 2011-04-28 2015-10-06
person 05 2013-04-29 2017-02-15
person 06 2015-09-22 2017-02-15
person 06 2015-09-22 2017-02-10
I besoin de cet ordre de résultats
name effective_from effective_to
person 11 2017-02-10 NULL
person 10 2017-02-10 NULL
person 05 2013-04-29 NULL
person 06 2015-09-22 2017-02-15
person 05 2013-04-29 2017-02-15
person 06 2015-09-22 2017-02-10
person 13 2011-04-28 2015-10-06
person 09 2010-12-02 2012-09-27
person 08 2010-06-17 2012-09-27
person 07 1999-04-01 2000-09-25
person 03 1999-04-01 2000-09-25
person 04 1999-04-01 2000-09-25
person 12 1999-04-01 2000-07-06
person 02 1999-04-01 2000-07-06
person 01 1999-04-01 1999-05-31
Comment je fais ça?
Utilisez un 'UNION' de deux requêtes qui sélectionnent différents' effective_to', et chaque utilisation souhaité 'ORDER BY'. – Barmar
SO n'est pas un service de codage gratuit. Vous devez essayer de résoudre le problème vous-même. Si vous ne pouvez pas le faire fonctionner, postez ce que vous avez essayé et nous vous aiderons à le réparer. – Barmar