IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Trier des dates PHP


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Trier des dates PHP
    Bonjour,

    jai une table dans laquelle j'ai un champ id1,id2 et une date.
    Malheureusement lorsque cette date est inconnue, elle est remplie par zéro.

    Je voudrais trier ma table par max(date) groupée par id1

    exemple

    id1 id2 date
    100 50 2000
    100 25 2010
    100 12 1989
    101 12 0
    102 10 1975

    et avoir comme résultat
    102 1975
    100 2010
    101 0

    comment faire db (mysql) ?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    bonjour,

    essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT id1 FROM table WHERE date <> 0 ORDER BY date
    UNION
    SELECT DISTINCT id1 FROM table WHERE date = 0
    Gillou

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par LeGilou Voir le message
    bonjour,

    essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT DISTINCT id1 FROM table WHERE date <> 0 ORDER BY date
    UNION
    SELECT DISTINCT id1 FROM table WHERE date = 0
    Gillou
    il ne veut pas de l'order by dans le 1er select

    avec l'order by après il met la date = 0 devant

  4. #4
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Comment ça il ne veut pas de l'ORDER BY ?!! c'est pas lui qui décide.
    Il faut se faire respecter par son serveur SQL.

    Si tu mets que ca, ca marche ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT DISTINCT id1 FROM table WHERE date <> 0 ORDER BY date
    Gillou

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Extrait du manuel de référence mysql http://dev.mysql.com/doc/refman/5.0/fr/union.html:
    Si vous voulez utiliser un ORDER BY pour le résultat final de UNION, vous devez utiliser des parenthèses :

    (SELECT a FROM nom_de_table WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
    UNION
    (SELECT a FROM nom_de_table WHERE a=11 AND B=2 ORDER BY a LIMIT 10)
    ORDER BY a;
    Ce n'est pas exactement ton problème, mais tu peux toujours essayer les parenthèses.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    que pensez vous de :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select col1,case when col3='30/12/1899' then '31/12/9999' else col3 end dd,col3,col4 
    from test
    order by dd

    ou

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select col1,case when col3=0 then 9999 else col3 end dd,col3,col4
    from test
    order by dd

Discussions similaires

  1. [LV 2009] Trier des dates dans l'ordre chronologique
    Par K-RK-S dans le forum LabVIEW
    Réponses: 2
    Dernier message: 26/09/2011, 14h24
  2. Comment trier des dates au format 22/11/2008?
    Par jolzeviking dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/06/2008, 16h06
  3. Peut-on trier des dates avec le quiksort ?
    Par relena93 dans le forum Pascal
    Réponses: 19
    Dernier message: 28/06/2007, 12h01
  4. trier des dates
    Par urbalk dans le forum Requêtes
    Réponses: 9
    Dernier message: 13/04/2007, 16h48
  5. Trier des dates
    Par roxxxy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/03/2007, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo