Partage
  • Partager sur Facebook
  • Partager sur Twitter

Dernières entrées

SQL

Sujet résolu
    7 décembre 2010 à 0:02:59

    Bonjours.

    J'ai une table nommé "image" avec un champs "id_image" et un champs "nom_image"


    Existe t-il un moyen de récupérer les 5 dernières entrées de ma table et trier par ordre alphabétique le champ "nom_image"? Et cela en une seule requête?


    La difficulté est que si je fait cette requête:
    SELECT nom_image FROM image ORDER BY id_image DESC, nom_image LIMIT 0, 5;
    

    ça vas d'abord m'inverser les id me prendre les 5 premiers, et ensuite me trier les image par ordre alphabétique seulement si les id sont identique. Et comme mes id sont tous différents et bien sa ne trie pas par ordres alphabétique.

    Il me faudrait une requête pour inverser les id, prendre les 5 premiers, et ensuite retirer par ordre alphabétique.


    Au finale donc, mes id peuvent très bien être désordonnés. Mais se sont toujours biens les 5 dernières.


    voici un petit exemple:
    table image:
    id_img nom
    1 f
    10 e
    12 b
    13 g
    15 c
    100 d
    102 a


    Résultat voulu:
    id_img nom
    102 a
    12 b
    15 c
    100 d
    13 g


    Merci d'avance pour vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      7 décembre 2010 à 0:53:06

      Quelque chose, mais pas forcement optimum :
      SELECT nom_image FROM image
      WHERE id_image IN(SELECT id_image FROM image ORDER BY id_image DESC LIMIT 0, 5)
      ORDER BY nom_image;
      

      Dans le cas ou limit fonctionne dans une sous requête.
      • Partager sur Facebook
      • Partager sur Twitter
        7 décembre 2010 à 14:50:53

        SELECT * FROM 
          (SELECT * FROM image ORDER BY id_image DESC LIMIT 5) AS x
        ORDER BY nom_image;
        
        • Partager sur Facebook
        • Partager sur Twitter

        Dernières entrées

        × 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