Je viens de tester toutes les solutions de remi4444 mais aucune ne fonctionne. :(
Version imprimable
Je viens de tester toutes les solutions de remi4444 mais aucune ne fonctionne. :(
9i minimum et tu n'as pas préciser la version :)
Pour moi, c'est du 8i. ;)
:oops: :oops: :oops:
Je suis confus, effectivement j'ai voulu trop résumé et j'ai dit une grosse bêtise (sauf qu'il falait se mefier des rownum ;))
Pour ce qui est de la version, il me semble que c'est à partir de la 8.1.6 :roll:
Sinon utilise la solution de McM, elle ordonne tout bien comme il faut sans utiliser de fonctions exotiques....
:oops: :oops: :oops:
Avec toutes ces différentes requêtes, je suis un peu confuse. :oops:
En tout cas, celle de plaineR marche et c'est celle ci...
Code:
1
2
3
4
5
6
7
8 SELECT * FROM( SELECT produit, pdt_ecart AS ecart FROM table_produits ORDER BY abs(pdt_ecart) DESC ) WHERE rownum BETWEEN 0 AND 20
La solution de plaineR ne fonctionnera que si tu part de 0, si tu veux partir d'autre chose que 0 (avoir les lignes de 20 à 30 par exemple) alors il faut rajouter un niveau et prendre la solution de McM:
Citation:
Envoyé par McM
Merci pour cette précision. C'est plus clair maintenant. :D
:!: Qui met à jour la FAQ ?
la FAQ est OK finalement, c'est juste que la borne la plus petite doit être supérieure à 0 :)
Je pense que c'est pas encore bon dans la fac "Comment sélectionner du m-iéme au n-iéme enregistrements ?". A la 2ieme section (avoir les 5 suivant) il manque un niveau entre le "order by" et le rownum, c'est exactement l'erreur que j'avais faite d'ailleurs... :aie:Citation:
Envoyé par Fred_D
Chez moi ça marche pas (9.2.0.6)Citation:
Envoyé par Fred_D
Explain Plan : INDEX FULL SCAN T_CLIENT_CLIENTCode:
1
2
3 SELECT ROWNUM NUM, client FROM T_CLIENT ORDER BY client
Citation:
NUM CLIENT
1 8
2 8
3 8
4 8
5 14
6 14
7 19
8 19
Explain Plan : TABLE ACCESS FULL T_CLIENTCode:
1
2
3 SELECT ROWNUM NUM, client, nom FROM T_CLIENT ORDER BY client
On voit bien que dans la sous requete, le rownum ne donne pas toujours la vérité.Citation:
NUM CLIENT NOM
385 8 AAAA
7432 8 AAAA
10934 8 AAAA
8977 8 AAAA
3914 14 BBBB
7431 14 BBBB
339 19 CCCC
7430 19 CCCC
Donc que après tu sélectionne le num entre 0 et 5 ou entre 1 et 5, ce n'est pas toujours l'ordre trié de ta sous requete.