[RESOLU] SORT sur 2 colonnes

Eléphant du PHP | 139 Messages

11 mars 2022, 04:18

Bonjour, j'ai une drôle de question et j'ai cherché une réponse, mais il y a un million de références à une question qui ressemble à la mienne et j'ai pas trouvé de réponse. Voilà! Peut-on faire un SORT BY sur deux colonnes? Pas deux SORT BY, mais un SORT BY sur deux colonnes. Par exemple, si on a une table avec une colonne de numéros de téléphones et une autre avec des numéros de cellulaires et que l'on veut faire classer les numéros en ordre croissant pour les deux colonnes. Je suis bien conscient qu'une meilleure organisation des tables pourrait éviter cette situation, mais je suis quand même curieux de savoir si c'est faisable.... genre par un SORT BY (colonne1 and/or colonne2)...

Merci de prendre le temps de me répondre!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

11 mars 2022, 08:13

Oui c'est possible en SQL très facilement :
https://sql.sh/cours/order-by
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 139 Messages

11 mars 2022, 13:36

Merci, c’est très gentil pour la réponse, mais ça ne répond pas à ma question. Je vais tenter d’être plus clair avec un meilleur exemple.

Nom. - Date d’arrivée - date de départ
Jos. 2022-05-12. 2022-05-24
Jack 2022-05-17. 2022-05-21
Bob. 2022-05-22. 2022-05-23

Est-il possible de faire un tri qui donnerait comme résultat
1. Arrivée de Jos
2. Arrivée de Jack
3. Départ de Jack
4. Arrivée de Bob


Je sais qu’en organisant mieux les données on peut s’en sortir, mais est-ce que sql permet ce genre de tri?

ynx
Mammouth du PHP | 586 Messages

12 mars 2022, 10:39

Bonjour,

Peut-être une solution avec UNION :
(SELECT CONCAT('Arrivée de ', nom) AS message, date_arrivee AS date_mouvement FROM mouvement)
UNION
(SELECT CONCAT('Départ de ', nom) AS message, date_depart AS date_mouvement FROM mouvement)
ORDER BY date_mouvement
http://sqlfiddle.com/#!9/da6e4d/1/0

Eléphant du PHP | 139 Messages

12 mars 2022, 14:08

Wow! merci, c'est exactement ce que je cherchais!