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

Langage SQL Discussion :

trouver le dernier enregistrement


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 7
    Points
    7
    Par défaut trouver le dernier enregistrement
    Bonjour,
    En sql , comment trouver le dernier enregistrement en ne sachant pas le nombre d'enregistrements contenu dans la table ?
    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par matio
    En sql , comment trouver le dernier enregistrement en ne sachant pas le nombre d'enregistrements contenu dans la table ?
    ça va être difficile : http://sql.developpez.com/sqlaz/erreurs/#L5
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    tu as pas un champ clé primaire en integer ?
    j'suis vert !

  4. #4
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut alors une réponse
    bonjour
    ton id est ton identifiant incrémenté automatiquement donc le dernier est celui qui l'id le plus grand donc
    Sélectionne le max(id) as dernierEnreg
    select * from maTable where id=dernierEnreg

    et voila mais ya surement plus pro

    ciao
    Plzzz pas de questions par MP.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Points : 253
    Points
    253
    Par défaut
    La commande Last ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT LAST(column) AS [expression]
    FROM table

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 837
    Points : 52 930
    Points
    52 930
    Billets dans le blog
    5
    Par défaut
    La commande LAST n'existe pas en SQL car elle viole les principes de bases des SGBD relationnels dans lesquels toute notion d'ordre par défaut n'existe pas.

    Vous ne pourrez trouver la dernière ligne (et non enregistrement, cette notion là aussi n'existe pas dans les SGBDR, et pour les mêmes raisons...) que si vous avez sciement introduit une information pour ce faire (horodatage par exemple).

    Même un auto incrément, par le fait qu'il peut être détourné ou décrémenter n'est pas suffisant à satisfaire votre demande.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Points : 253
    Points
    253
    Par défaut
    Merci pour cette précision.
    Mais alors Access fait n'importe quoi lors qu'il propose Dernier dans les différentes opérations qu'il peut réaliser

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par tazmania
    Merci pour cette précision.
    Mais alors Access fait n'importe quoi lors qu'il propose Dernier dans les différentes opérations qu'il peut réaliser
    Bonjour, j'ai aussi été confronté à ce problème et j'ai trouvé une solution, mais en php/mysql pas en Access.

    En fait, je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while($tmp=mysql_fetch_array($req)) {
    //Commande quelconque ex: $i++
    }
    Une fois que la boucle a fini de tourner, $tmp contient la dernière valeur de la requête et $i contient le nombre de champs retournés. Mais attention, cette dernière valeur dépend du tri effectué. Dans mon cas il s'agit de date d'opérations, donc je fais un ORDER BY `Date`.

    Je sais que c'est pas propre, mais ça marche et j'ai rien trouvé de mieux.

    Dsl pour ceux qui seront choqués par si peu de finesse dans cette solution!

  9. #9
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    pour PedroBD, j'aurais plus fait un 'order by date desc limit 1'

Discussions similaires

  1. MSQUERY -Trouver le dernier enregistrement
    Par qmike dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/11/2012, 15h17
  2. Réponses: 7
    Dernier message: 11/10/2011, 16h32
  3. trouver le dernier enregistrement
    Par matio dans le forum Administration
    Réponses: 3
    Dernier message: 24/10/2006, 13h40
  4. MySQL : trouver le dernier enregistrement
    Par matio dans le forum Requêtes
    Réponses: 2
    Dernier message: 24/10/2006, 12h47
  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