begin process at 2012 05 31 05:14:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

ORDER BY multi-champs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ORDER BY multi-champs

mercredi 12 août 2009 à 11:23:08 | ORDER BY multi-champs

xactise

Membre Club


Bonjour à tous, une petite question
J'ai une table avec 3 champs de type DATE

date1
date2
date3

Admetons que j'ai les enregistrement suivant

1# 0000-00-00 2009-08-03 0000-00-00
2# 0000-00-00 2009-08-18 0000-00-00
3# 2009-08-07 0000-00-00 0000-00-00
4# 2009-08-12 0000-00-00 0000-00-00
5# 0000-00-00 0000-00-00 2009-08-05
6# 0000-00-00 0000-00-00 2009-08-15

Je souhaite faire un ORDER BY sur ces 3 champs (qui faudrait considéré comme 1 seul)

en gros je voudrai un retour du style

1# 0000-00-00 2009-08-03 0000-00-00
5# 0000-00-00 0000-00-00 2009-08-05
3# 2009-08-07 0000-00-00 0000-00-00
4# 2009-08-12 0000-00-00 0000-00-00
6# 0000-00-00 0000-00-00 2009-08-15
2# 0000-00-00 2009-08-18 0000-00-00

J'ai chercher mais pas trouver, peut-on faire sa directement en SQL ?

D'avance merci pour vos réponses


L0rD...

jeudi 13 août 2009 à 22:24:57 | Re : ORDER BY multi-champs

pysco68


ben c'est relativement simple:

SELECT * FROM tatable ORDER BY date1, date2, date3 (ordre de tri que tu veux)

enfin selon la doc MySQL c'est possible depuis la version 4.3

Bonne soirée



PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here

vendredi 14 août 2009 à 19:10:05 | Re : ORDER BY multi-champs

xactise

Membre Club

Si je fais sa avec l'exemple cité dessus :
date1 date2 date3
1# 0000-00-00 2009-08-03 0000-00-00
2# 0000-00-00 2009-08-18 0000-00-00
3# 2009-08-07 0000-00-00 0000-00-00
4# 2009-08-12 0000-00-00 0000-00-00
5# 0000-00-00 0000-00-00 2009-08-05
6# 0000-00-00 0000-00-00 2009-08-15

je vais obtenir :
3# 2009-08-07 0000-00-00 0000-00-00
4# 2009-08-12 0000-00-00 0000-00-00
1# 0000-00-00 2009-08-03 0000-00-00
2# 0000-00-00 2009-08-18 0000-00-00
5# 0000-00-00 0000-00-00 2009-08-05
6# 0000-00-00 0000-00-00 2009-08-15

il va dabord trier date1, ensuite date2, ensuite date3

moi ce que je eux c'est que ces 3 dates ne forme qu'une (enfin a moin qu'il y est une autre méthode...)
mais si elle forme qu'une j'aurai bien le résultat voulu c'est-à-dire :


1# 0000-00-00 2009-08-03 0000-00-00
5# 0000-00-00 0000-00-00 2009-08-05
3# 2009-08-07 0000-00-00 0000-00-00
4# 2009-08-12 0000-00-00 0000-00-00
6# 0000-00-00 0000-00-00 2009-08-15
2# 0000-00-00 2009-08-18 0000-00-00


Je vais quand même regarder la doc, vu que tu marque
"enfin selon la doc MySQL c'est possible depuis la version 4.3 "

Mais j'ai un doute quand même...

D'avance merci, UP please :$

L0rD...

vendredi 14 août 2009 à 20:51:47 | Re : ORDER BY multi-champs

nautilus99

Bonjour,

Vu ce que tu recherches, à savoir que sur 3 dates possibles par ligne, ne choisir qu ela plus récente, et que le résultat final soit trié en ordre ascendant ou descendant d el asélection, tu vas devoir apprendre à jongler avec les CASE ... WHEN... de la syntaxe SQL.

Je me demande si la structure de de ta base de données ne manque pas un peu de rigueur pour en venir à ces extrêmes, à la fois complexes à écrire et à debugguer...



Cette discussion est classée dans : champs, multi, order, by


Répondre à ce message

Sujets en rapport avec ce message

Aide sur ORDER BY please ! [ par kunfuka ] Bonjour tt le monde, j'aurais en fait besoin d'un petit algo...Je voudrais qu'en cliquant une fois sur un lien je trie dans l'ordre croissant et en re ORDER BY en 2 temps [ par pyranhaz ] Est-il possible d'ordonner l'affichage des résultats MySQL en 2 temps...Je m'explique;j'ai une série de date au format "y-m"J'ai aussi une série de ti Order by problème [ par Developpator ] Hello,Je fais une requête sur une table comprenant id de type char. Lorsque le sélectionne tous les champs de ma table et que je décide de les trier e Order by sur un count [ par dorian53 ] Bonjour,Je souhaite executer un classement sur une table de vote.SELECT voteVM, COUNT(numVM)FROM voteGROUP BY voteVMORDER BY 2 DESC, 1 ASC(a savoir Requete SQL, Order by et select form URGENT plus ke 2 jours de stages !!!! [ par boninou ] Bonjour ! J'ai effectué une requete sql dans une page php et j'ai mis le résultat dans un tableau. Comment faire pour que mon tableau soit structuré c Probleme avec ORDER BY [ par Rimb0 ] Salut à tous !Voici la "gueule" de ma table :id    site                      visiteurs<table style="width: 198px; heig [A l'AIDE] Problème de tri (order by) [ par Soul EX ] Bonjour à tous et bonne année !Je vous expose mon problème déprimant.Une table3 champs : points_officiel, points_maj, progression.<b [ORDER BY & WHERE] [ par elidris ] Bonjour,j'ai un petit probleme avec la commande ORDER BY et WHERE :$query = "select count(*) as nb from Proverbe where categorie='femmes'";$result = m group by... order by [ par kyript ] bonjour a tous context: forum j'affiche sur une page les noms des sujets qui ont les messages les plus récent. ensuite je les groupe par sujet puis a ORDER BY [ par xeroxiss ] Hello !     Voila je post parceque je ne trouve vraiment pas de réponse cohérente a mon problème.     Je désire créer un lien sur une entête de tablea


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales