choklata
jeudi 23 mars 2006 à 17:25
j'ai une table comme suit :
nom prenom an
yy gg 2001
ff ss 2002
qq hh 2003
kk ii 2004
je veux extraire les 3 records (des années 2004,2003,2002) mais s'il n'y a pas il j'extrait les 2 dernier s'il n'y a pas "le dernier" suffit
il ya t-il une requête ou un traitement php pour le faire?
Dan
jeudi 23 mars 2006 à 17:40
SQL
Select * from nom_de_table where an between '2002' and '2004'
tout simplement
choklata
vendredi 31 mars 2006 à 18:51
mais les années sont inconnue
ouarzazat
mercredi 5 avril 2006 à 10:13
Essaie avec order et limit:
Select * FROM nom_de_table ORDER BY an DESC LIMIT 0,2 (ou 1,3 je sais plus)
ORDER BY an DESC va trier tes résultats par rapports à l'année dans l'ordre décroissant (DESC), du + grand au + petit.
LIMIT 0,2 retiendra dans cette liste les enregistrement 0 à 2 (=3 enregistrements).
Et puis si tu n'as que 2 ou 1 seul enregistrement ben il ne t'en retiendra que 2 ou un seul!
J'espère que c'est ce à quoi tu t'attendais,
à+
choklata
samedi 22 avril 2006 à 18:12
oui merci
webadev
samedi 22 avril 2006 à 18:34
SQL
Select * FROM nom_de_table ORDER BY an DESC LIMIT X
X = le nombre maximum que tu veux

si tu fais un
SQL
LIMIT 3
Il te donnera au maximun 3 enregistrements
(si ta table n'en contient que 2 il t'en donnera 2

....)
Hervé