Comment recuperer le dernier enregistrement d'une table en sql

Messages postés
4
Date d'inscription
mardi 19 octobre 2010
Dernière intervention
8 avril 2011
- - Dernière réponse :  isso007 - 19 janv. 2019 à 10:20
Salut,
est ce que vous pouvez m'aidé
Comment recuperer le dernier enregistrement d'une table en sql la requete qui retourne dernier enregistrement :) merci d'avance
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
3
Merci
Comme ça sans réfléchir je dirais que c'est le dernier rownum utilisé...

Ça ferait un quelque chose du genre :

[b][i]
select * from ma_table where rownum >= all
(
select * from ma_table order by rownum asc
);
/i/b

Dire « Merci » 3

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 114 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Dernière intervention
16 juillet 2013
2
1
Merci
Salut
Si tu as une colonne id (increment) tu peux faire une requete dans le genre:

SELECT TOP 1 * FROM TABLE ORDER BY ID DESC.

le fait de mettre ORDER BY ID DESC va te renvoyer tes enregistrements de la derniere ligne à la premiere et le fait de mettre TOP 1 ne te renverra que la premiere ligne de tes resultats (avec le ORDER BY ID DESC, cette ligne correspond à la derniere...)

Si cela ne fonctionne pas pour toi (pas de colonne id par exemple) decrit nous un peu ta table, que l'on trouve une solution plus appropriée...
Commenter la réponse de alexandrevandenberghe
1
Merci
J'avoue qu'en revoyant ce que j'ai écris ça ne tiens pas trop debout ce que j'ai fait
Je préfère :
[b][i]
select * from ma_table where id >= all
(
select id from ma_table order by id desc
);
/i/b

Mais la solution de alexandrevandenberghe est correcte aussi et plus optimisée.

-- Pylouq : jongleur de clavier AZERTY et de clavier QWERTZ --
Commenter la réponse de Utilisateur anonyme
Messages postés
5
Date d'inscription
samedi 18 décembre 2010
Dernière intervention
13 juin 2012
3
1
Merci
Bounjour A tous je suiss TDI en Info premierment je vous remercier pour tousen crier un code de ce page j'essaye les code de cette page mais ne donner pas un soulution qui recupérier les enregistrement donc je proposer une structure par un "curseur" pour récuperer le dernier ligne des enregistrement ma table T1 par Exp je peut afficher le id,et Nom de le dernier enregistrement voila le code qui gérier votre probleme voila le code:

//Declartion Un variable Com je peut afficher comme un parametre
declare @id int,@nom varchar(50)
//Declartion Curseur et requet que vous afficher
declare cur cursor for select
id,Nom from T1
open cur
fetch next from cur into @id,@nom
while @@fetch_status=0
begin
print 'la note '+convert(varchar,@id)+'le nom article dernier et '+convert(varchar(varchar(50),@nom)

fetch Prior from cur into @id,@nom
end
close cur
deallocate cur


merci d'avance
Commenter la réponse de skill99
Messages postés
5
Date d'inscription
samedi 18 décembre 2010
Dernière intervention
13 juin 2012
3
1
Merci
mon quistion Plus avance de requete j'ai pas de probleme pour recuperer dernier enregistrement d'un table,mon requete je peut afficher 3 des enregistrement d'une table voici le code qui afficher dernier enregsitrement et pour vous aides moi pour afficher Les 3 Ergis
le code:

declare @id int,@nom varchar(50)

declare cur cursor for select
id,Nom from T1
open cur
fetch next from cur into @id,@nom
while @@fetch_status=0
begin
print 'la note '+convert(varchar,@id)+'le nom article dernier et '+convert(varchar(varchar(50),@nom)

fetch last cur into @id,@nom
end
close cur
deallocate cur
Commenter la réponse de skill99
Messages postés
5
Date d'inscription
samedi 18 décembre 2010
Dernière intervention
13 juin 2012
3
1
Merci
mon demande l'afichage les dernier enregistrement des donnée d'un table
je déja testé par deux Méthode 1ere par cursor et la desieme simple .;

select top 2 id from NomTable
group by id
order by desc
Commenter la réponse de skill99
1
Merci
En gros tu as une table avec des lignes dedans, et tu veux récupérer les deux dernières lignes, c'est ça ? Ce que tu as fait de fonctionne pas ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Commenter la réponse de Utilisateur anonyme
Messages postés
124
Date d'inscription
mercredi 23 novembre 2005
Dernière intervention
19 septembre 2013
3
0
Merci
Bonjour,
Le plus rapide :
SELECT A.* FROM
Ma_Table A inner join 
(SELECT Max(Id) as Id FROM ma_table) B
on A.Id = B.Id


A condition que la colonne Id soit identity

Si c'est pour récupérer le dernier enregistrement juste après un insert ou Update :
INSERT INTO Ma_Table (..) VALUES (..)
SELECT A.* FROM Ma_Table where Id = @@identity

Yann
Commenter la réponse de tri_yann
0
Merci
Désolé mais je n'ai pas tout compris... Quel est ton problème exactement ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.