MySQL, Order by avec 2 champs

Résolu
faith86 -  
 faith86 -
Bonjour,
Ayant déjà fait appel à plusieurs reprises sur commentcamarche, et ayant toujours eu une réponse adéquate, je me permet de poser à nouveau une question sur laquelle je bloque :

J'ai programmé un système de news en accord avec MySQL. La table 'news' contient entre autres les champs 'cree_le' et 'modifie_le'. Or, j'aimerais que ma page affiche la date de dernière modification de tout le système de news.
C'est à dire que MySQL doit rechercher la date la plus récente ( que ce soit le champ 'cree_le' ou 'modifie_le' ).

Est-ce possible en une seule requête ?
J'ai essayé quelque chose du genre " SELECT cree_le, modifie_le FROM news ORDER BY cree_le ASC, modifie_le ASC
mais ça ne marche pas ......
Une solution ?

Merci de votre réponse !
Cordialement,

Faith86
Configuration: Linux Debian
Mozilla 1.8.1.12

1 réponse

  1. faith86
     
    Je me suis trompé, j'ai mis 'DESC' au lieu de 'ASC' dans la requête
    2
    1. faith86
       
      Cela me laisse bien évidemment le même problème :

      SELECT cree_le, modifie_le FROM news ORDER BY cree_le DESC, modifie_le DESC

      Je donne un exemple :

      TABLE NEWS:
      id | cree_le | modifie_le
      1 | 21/02 12:50 | 21/02 12:54
      2 | 20/02 12:50 | 22/02 13:12

      Dans cet exemple, j'aimerais pouvoir récupérer la date modifie_le de l'enregistrement ayant pour id 2 ( puisque date la plus récente.. )
      Mais pour cet exemple :

      TABLE NEWS:
      id | cree_le | modifie_le
      1 | 21/02 12:50 | 21/02 12:54
      2 | 22/02 12:50 | 0

      Je voudrais qu'il me retourne cette fois la date cree_le de l'enregistrement ayant pour id 2 ( puisque date la plus récente )
      0
      1. faith86 > faith86
         
        Solution trouvée :

        Lorsqu'une news est créée, je ne met plus le champ 'modifie_le' à 0, mais à la même valeur que 'cree_le',
        Il ne me reste donc plus qu'à regarder quel est la date du champ 'modifie_le' la plus récente :

        SELECT modifie_le FROM news ORDER BY modifie_le DESC LIMIT 1

        Et j'obtiens pour l'exemple ci-dessus :
        Exemple 1 :

        TABLE NEWS:
        id | cree_le | modifie_le
        1 | 21/02 12:50 | 21/02 12:54
        2 | 20/02 12:50 | 22/02 13:12

        --> 22/02 13:12

        Exemple 2:

        TABLE NEWS:
        id | cree_le | modifie_le
        1 | 21/02 12:50 | 21/02 12:54
        2 | 22/02 12:50 | 22/02 12:50

        --> 22/02 12:50

        Je n'ai pas trouvé mieux, et puis finalement, ça n'est pas si mal ! :)
        0