Comment récupérer le dernier enregistrement d'une table en sql ?
Fermé
Sam
-
1 févr. 2013 à 09:44
blux Messages postés 26453 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 novembre 2024 - 1 févr. 2013 à 15:47
blux Messages postés 26453 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 novembre 2024 - 1 févr. 2013 à 15:47
A voir également:
- Sql dernier enregistrement
- Dernier iphone - Guide
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Ouvrir dernier onglet fermé - Guide
- Youtube enregistrement vidéo - Guide
- Enregistrement ecran pc - Guide
1 réponse
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
1 févr. 2013 à 10:30
1 févr. 2013 à 10:30
Bonjour,
Si la table est bien construite, la valeur du (des) champ(s) en clé primaire la plus élevée correspond au dernier enregistrement...
Ou sinon, même principe mais avec un champ datetime.
Si la table est bien construite, la valeur du (des) champ(s) en clé primaire la plus élevée correspond au dernier enregistrement...
SELECT * FROM MaTable WHERE Cle_primaire = MAX(Cle_primaire)
Ou sinon, même principe mais avec un champ datetime.
1 févr. 2013 à 11:09
Merci, je vous suis reconnaissant.
bonne journée.
Modifié par blux le 1/02/2013 à 16:55
tout faux !
Si la clé primaire est un champ autoincrémenté, on peut peut-être s'en sortir comme ça (si le sgbd ne fait pas la chasse aux trous en cas de suppression de ligne)
Si la clé primaire est autre chose (matricule quelconque, concaténation nom/prénom), rien ne peut dire quel est le dernier enregistrement (à part si on a prévu un champ date/time spécifiquement).
De plus, la question est mal posée : le dernier enregistrement ne veut rien dire. Il peut être le dernier d'une requête (avec un ORDER BY, donc fluctuant), il peut vouloir dire le dernier inséré dans la table...
Savoir aussi qu'un SGBD stocke les données où il trouve de la place selon des algorithmes qui n'ont rien à faire d'un ordre quelconque (c'est pour cela que ORDER BY existe), généralement, c'est stocké à l'endroit accessible le plus rapidement quand on veut écrire (et où il y a suffisamment de place, bien que l'on puisse morceler les enregistrements), via une fonction de hashage de la clé primaire.