Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQL] tri par valeur supérieur ...

... entre 2 champs

Sujet résolu
    7 janvier 2011 à 16:33:25

    Bonjour,

    Désolé pour le titre peu explicite, j'ai un peu de mal à expliquer le problème on dirait :euh:

    J'ai une table de ce type :



    ID Time_1 Time_2
    1 1275749212 1275098902
    2 1275740080 1275749788
    3 1279202304 1278760000
    4 1279199456 1271911340


    L'idée serait de faire une requête en ordonnant les résultat par time_X, où time_X est celui de Time_1 ou Time_2 dont la valeur est la plus élevée.

    Du coup, dans mon exemple :
    • 1 : Time_1 > Time_2 --> time_x = Time_1
    • 2 : Time_1 < Time_2 --> time_x = Time_2
    • 3 : Time_1 > Time_2 --> time_x = Time_1
    • 3 : Time_1 > Time_2 --> time_x = Time_1


    Et on organise donc en fonction de time_x...

    Je ne sais pas si je me fais comprendre :euh:

    Bref, si vous avez compris, toute aide est la bienvenue ^^

    Merci, bonne journée ;)
    • Partager sur Facebook
    • Partager sur Twitter
      7 janvier 2011 à 16:49:50

      select *, greatest(time_1, time_2) AS time_x from t order by greatest(time_1, time_2);
      


      Je pense que c'est ce que tu cherches :)

      MAX fonctionne pour une colonne, GREATEST retourne la plus grande valeur entre deux valeurs seulement :)
      • Partager sur Facebook
      • Partager sur Twitter
        7 janvier 2011 à 21:24:10

        Merci de ta réponse.

        Est-ce que pour chaque ligne ce sera bien la plus grande valeur qui sera prise ?

        Peut-on écrire "order by time_x" ?

        Dois-je obligatoirement repasser par une condition php pour savoir si c'est time_1 ou time_2 qui a été prit en compte ?

        Merci ;)
        • Partager sur Facebook
        • Partager sur Twitter
          7 janvier 2011 à 21:42:27

          Citation : w0uPin3z

          Est-ce que pour chaque ligne ce sera bien la plus grande valeur qui sera prise ?


          Oui

          Citation : w0uPin3z

          Peut-on écrire "order by time_x" ?


          Oui

          Citation : w0uPin3z

          Dois-je obligatoirement repasser par une condition php pour savoir si c'est time_1 ou time_2 qui a été prit en compte ?


          Tu ne sauras pas si c'est time_1 ou time_2, tu auras simplement la valeur.
          • Partager sur Facebook
          • Partager sur Twitter
            7 janvier 2011 à 23:09:20

            Merci beaucoup à vous deux ;)
            • Partager sur Facebook
            • Partager sur Twitter

            [SQL] tri par valeur supérieur ...

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown