Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2011, 08h58   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 25
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 25
Points : 1
Points : 1
Par défaut Equivalent last Firebird

Bonjour,

Je veux récupérer le dernier enregistrement d'une colonne dans une base Firebird

ce qui donne ceci : SELECT last 1(colonne1) from table1 me retourne une erreur



Quelle est la bonne syntaxe

Merci.
cobra02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 09h18   #2
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 754
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 754
Points : 6 767
Points : 6 767
Salut

Il suffit d'inverser l'ordre de tri et de prendre le premier.
Code :
1
2
3
4
5
6
SELECT FIRST 1 
  F1
FROM 
  T_TABLE
ORDER BY
  F1 DESC;
La création d'un index DESC sur F1 peut s'avérer utile voire nécessaire.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h17   #3
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Tout dépend de ce que veut dire 'Le dernier' ? Le dernier suivant quelle ordre ?

Pour simplifier la requête de Cl@udius :

Code :
SELECT max(F1) FROM TABLE;


Sinon si c'est le dernier suivant la clé primaire de la table suivre la syntaxe de Cl@udius :

Code :
1
2
3
SELECT FIRST 1 MA_Colonne 
FROM MA_Table 
ORDER BY ID_MA_TABLE DESC;
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h14.


 
 
 
 
Partenaires

Hébergement Web