Jump to content

[Résolu] SQL - Acceder dernière ligne.


Recommended Posts

Bonjour voilà, je suis une turne en SQL et j'ai pas spécialement le temps de chercher, j'ai une application monstrueuse à faire tourner d'ici ce soir et ca c'en est un infime bout donc je peux pas trop passer de temps dessus.

En gros, c'est tout simple et bête, je cherche juste à connaitre la valeur de la clé (noSaisie) de la toute dernière ligne d'une table Saisie et j'aimerais ne pas avoir à parcourir toute la table pour éviter d'utiliser trop le serveur qui doit déjà gérer des centaines de requetes à la fois.

J'ai bien pensé à quelque chose du genre :

Select noSaisie

from Saisie

order by noSaisie desc

and limit 0,1

Je pense que ca doit correspondre à peu près à ce que je cherche même si la syntaxe ici n'est certainement pas exacte.

Je sais pas si ca change quelque chose mais je tiens à préciser que je passe par jdbc (java). J'ai bien une solution de rechange mais je pense qu'un select * pompe plus de ressources que le petit exemple du dessus non???

Au pire même si ce n'est pas optimisé, il faudrait déja que ca fonctionne. J'aurais ensuite un expert en SQL pour m'aider mais tant qu'il n'est pas la, je me débrouille seul et quand on doit faire une requete sur laquelle on bloque alors que derrière on a un prog de ouf à produire...

Merci par avance pour votre aide.

Link to comment
Share on other sites

Tiens ? Y'a moyen d'accéder aux 5 derniers facilement ?

;):p:D

au 5 derniers plus grand ?

Ca dépend si ta db supporte les subqueries, (donc pas mysql 4) sinon ben oui c'est pas compliqué.

select no from table where no > ((select max(tbl.no) from table as tbl) - 5)

ou qqch dans le style, c'est a tester mais ca doit pas etre loin.

Link to comment
Share on other sites

  • 2 months later...

Je fais un ptit :transpi:

Au sujet des X derniers produits ajoutés ...

Avec la méthode que tu m'avais proposée SyGEN, il risque d'y avoir des problèmes si les ID ne se suivent pas par pas de 1. Il peut y avoir des trous entre les ID, et du coup, il peut afficher de 0 à 5 produits.

J'ai trouvé quelque chose qui répond mieux au problème, voici le code :

// SORTIR LES 5 DERNIERS ID
select top 5 * 
from table
order by id desc

Pour obtenir les 5 premiers ID :

// SORTIR LES 5 PREMIERS ID
select top 5 *
from table

Ca fonctionne avec Access ...

Pour une base mySQL il y a la "fonction" LIMIT apparemment.

@+

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...