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

Requêtes MySQL Discussion :

derniers enregistrements ASC


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club Avatar de rduvrac
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 58
    Points : 47
    Points
    47
    Par défaut derniers enregistrements ASC
    Bonjour,

    Comment faire pour afficher les derniers enregistrement d'une table ?

    J'ai par exemple ces enregistrements :
    1, 2, 3, 4, 5, 6, 7, 8, 9

    Si on demande d'afficher les 5 enregistrements dans l'ordre ASC, il met :
    1, 2, 3, 4, 5

    Si on demande d'afficher les 5 enregistrements dans l'ordre DESC, il met :
    9, 8, 7, 6, 5

    et j'aimerai avoir les derniers qui s'affichent dans l'ordre ASC, donc ça :
    5, 6, 7, 8, 9

    Bon actuellement j'utilise DreamWeaver qui génère le code, mais si il faut bidouiller, voir refair un code, je m'y collerai :-)

    Merci.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 112
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 112
    Points : 8 250
    Points
    8 250
    Billets dans le blog
    17
    Par défaut
    Il faut utiliser la clause LIMIT de SELECT (http://dev.mysql.com/doc/refman/5.0/fr/select.html).
    Bon développement
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    ce n'est malheuresement pas aussi simple que cela

    si je te demande, selectionne moi les 5 derniers enregistrement d'une table,
    quel serait les attributs de ton limit, sachant que ta table est évolutive. dans le sens ou tu ne peux connaître à l'avance le nombre d'enregistrement

    je regarde s'il n'y a pas une solution sans avoir à réaliser une requête trop complexe.

    De plus, ton sujet s'apparente plus à MySQL(en devinant que tu utilises MySQL) qu'à Php

    ::edit::

    pour moi ça donnerait quelque chose du genre :

    Code MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT id 
    FROM tatable
    WHERE id >= (SELECT MAX(id) - 5 FROM tatable);
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 112
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 112
    Points : 8 250
    Points
    8 250
    Billets dans le blog
    17
    Par défaut
    Oups, il m'a semblé qu'on pouvait faire un LIMIT -5, apparemment non, je confonds avec autre chose

    Pour ma part je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL *
    FROM (SELECT ALL lesChampsIntéressants FROM laTable ORDER BY champTri DESC LIMIT 5) AS d
    ORDER BY d.champTri ASC
    1. La sous-requête récupère les 5 derniers enregistrements grâce à un tri decroissant
    2. Le 1er SELECT remet les enregistrement par ordre croissant
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    c'est vrai que ce serait bien de pouvoir faire LIMIT -5

    ta requête doit surement fonctionner aussi (enfin sans le ALL )
    I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
    Pour détourner un avion, il faut monter dedans - Frédéric beigbeder

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant] selection des 6 derniers enregistrements
    Par LoLoSS dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/07/2004, 15h27
  2. Recupération du ID du dernier enregistrement
    Par mustang-gx dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/03/2004, 10h04
  3. Récupérer dernier enregistrement d'une table?
    Par Invité dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 19/01/2004, 11h38
  4. Réponses: 10
    Dernier message: 01/08/2003, 13h45
  5. Trouver le dernier enregistrement d'une table
    Par remi59 dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/03/2003, 14h54

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