Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 07/07/2008, 12h08   #1
Invité de passage
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 24
Points : 4
Points : 4
Par défaut Dernières valeurs d'une requête

Salut à tous.

Je dois obtenir les 20 derniers enregistrements d'une requête triée.
Pour les 20 premiers, je sais comment faire: ROWNUM <= 20.
Mais comment obtenir uniquement les 20 derniers ?
Je pourrais bien sûr trier dans le sens inverse, faire un ROWNUM <= 20, puis retrier dans le sens de départ mais je trouve ça un peu tordu et trop lourd.

Avez-vous une autre solution ?

Merci,
Alain.
aca1024 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 12h59   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h31   #3
Membre éprouvé
 
Avatar de miloux32
 
Inscription : juillet 2003
Messages : 538
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 538
Points : 473
Points : 473
tu es (a priori) obligé de faire en 2 fois :
1ere fois : tu comptes tes enregistrements ( avec un simple count)
2ieme fois :
Code :
SELECT .... FROM ... WHERE .... AND rownum >= Tonnombre - 20
__________________
C'est pas parce que ca marche que c'est bon!!
Pensez au bouton "Résolu"
Je ne réponds pas en privé aux questions
miloux32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h36   #4
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226


ROWNUM >= à un chiffre supérieur à 1 ne marchera jamais
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 13h42   #5
Membre éprouvé
 
Avatar de miloux32
 
Inscription : juillet 2003
Messages : 538
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 538
Points : 473
Points : 473
Citation:
Envoyé par McM Voir le message


ROWNUM >= à un chiffre supérieur à 1 ne marchera jamais

Oui oui youpala ( tete de linotte today !!!! Promis, j'arrete la picole !!!![ et la drogue])
Je le sais en plus je l'ai tenté quand j'ai decouvert rownum (en 1902) et j'avais ramé à l'époque


Donc humm humm je disais :

Code :
1
2
SELECT  .... FROM (SELECT ...., rownum AS nb  FROM ... WHERE .... )
WHERE nb >=tonnombre-20
__________________
C'est pas parce que ca marche que c'est bon!!
Pensez au bouton "Résolu"
Je ne réponds pas en privé aux questions
miloux32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 14h31   #6
Membre expérimenté
 
Inscription : juillet 2007
Messages : 495
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2007
Messages : 495
Points : 585
Points : 585
Et comment on fait pour trouver "tonnombre" ?
__________________
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
dgi77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2008, 14h52   #7
Invité de passage
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 24
Points : 4
Points : 4
Par défaut Fin

OK. Merci à tous.
aca1024 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h57.


 
 
 
 
Partenaires

Hébergement Web