Les Allergies
Alimentaires
Posez votre question Signaler

La close Limit avec oracle [Résolu]

xthammadi 1Messages postés 15 mai 2008Date d'inscription - Dernière réponse le 4 janv. 2012 à 16:02
Bonjour,
j'ai besoin d'afficher certain résultats et n'avoir qu'un certain nombre de ligne.
sous mysql, on peut utiliser la clause limit, mais sous oracle je n'ai pas trouvé comment faire.
aide moi svp
Merci d'avance.
Lire la suite 

La close Limit avec oracle »

Suggestions
11 réponses
Réponse
+9
moins plus
http://www.adp-gmbh.ch/ora/sql/examples/first_rows.html
Ajouter un commentaire
Réponse
+8
moins plus
sous oracle, utilise la pseudo colonne ROWNUM
Ajouter un commentaire
Réponse
+2
moins plus
si si je l'ai suivi, avec ce code:
select *
from emp
where rownum < 4
order by sal desc;
et la requete me donne pas les employés qui ont le salaire le plus élevé.
Ajouter un commentaire
Réponse
+0
moins plus
salut tout le monde,
est ce quelqu'un peut m'aider à résourdre ce probleme
1/Créer une requete PL/SQL avec select qui détermine les 3 employés ayant les salaires les plus élevés(sans utiliser un curseur).
2/ afficher les 4 employés qui représentent l'ancienneté la plus élevée (tjr avec une instruction pl/sql select).
Ajouter un commentaire
Réponse
+0
moins plus
salut
je sais que t'es pressé
qu'est-ce que tu comprends pas dans la démo du post 1 ?
Ajouter un commentaire
Réponse
+0
moins plus
j'ai utilisé ce code:
select * from emp
order by sal
limit 0,3;
mais lors de la compilation, oracle me dis que limit ne se termine pas correctement
je ne sais pas pourkoi?
Ajouter un commentaire
Réponse
+0
moins plus
Et oui, limit n'existe que dans MySQL je crois bien

il est quand même dommage que sandul te donne une piste en or et que tu t'obstines à ne pas vouloir la suivre.
tu te rappelles de "Errare humanum est, perseverare diabolicum" ?
Ajouter un commentaire
Réponse
+0
moins plus
:D ce que tu as fait est démontré dans l'article : tu récupères les 3 première lignes puis tu les tries.
alors que ce que tu veux c'est trier toutes les lignes et n'en récupérer que les 3 premières.

Allez hop ! relecture
Ajouter un commentaire
Réponse
+0
moins plus
youpi je l'ai enfin résolu , c comme ça alors!!!!
merci bcp fiu, tu m'as vrmt aidé :)
Ajouter un commentaire
Réponse
+0
moins plus
<?php
$c = oci_connect("hr", "hrpwd", "localhost/XE");
$mystmt = "select city from locations order by city";
$minrow = 4; // row number of first row to return
$maxrow = 8; // row number of last row to return
$pagesql = "select *
from ( select a.*, rownum as rnum
from ( $mystmt ) a
where rownum <= :maxrow)
where rnum >= :minrow";
$s = oci_parse($c, $pagesql);
oci_bind_by_name($s, ":maxrow", $maxrow);
oci_bind_by_name($s, ":minrow", $minrow);
oci_execute($s);
oci_fetch_all($s, $res);
var_dump($res);
?>



extrait de :
http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf
Ajouter un commentaire
Réponse
+0
moins plus
Il faut faire sur oracle :

Select ename, sal
from (select ename, sal from emp order by sal desc)
where rownum < 4 ;



Enjoy
Ajouter un commentaire
Ce document intitulé « La close Limit avec oracle » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?