Avatar billede tuba Nybegynder
11. marts 2004 - 13:39 Der er 6 kommentarer og
1 løsning

LIMIT eller TOP

I f.eks. MySQL findes der en funktion der hedder LIMIT, som f.eks ved LIMIT 10, giver mig de 10 første poster i et udtræk - findes der en lignende funktion i Oracle ?
Avatar billede psv Nybegynder
11. marts 2004 - 13:50 #1
Davs - du skal bare lave en select rundt om din (sorterede??) select, der kun returnerer de første 10 rækker:
Bemærk: Du kan IKKE flytte "where rownum < xx" ind i den inderste select!

select *
from (
  select *
  from <mytable>
  where <mycondition>
  order by <mysortfield>
) where rownum <= 10;
Avatar billede arne_v Ekspert
11. marts 2004 - 13:52 #2
Prøv:

SELECT * FROM (
SELECT ROWNUM AS n, t.*
FROM  TABLE t
)
WHERE n BETWEEN 1 AND 10
Avatar billede psv Nybegynder
11. marts 2004 - 13:54 #3
Arne: Du får jo et ekstra felt med i dit resultat - måske ikke smart :-)
Desuden vil det jo ikke virke med order by!
Avatar billede tuba Nybegynder
11. marts 2004 - 16:32 #4
den klarer jobbet... tak for det
Avatar billede arne_v Ekspert
11. marts 2004 - 17:38 #5
Hvorfor vil den ikke virke med order by ?

(jeg kan godt se at din er lidt fiksere)
Avatar billede psv Nybegynder
11. marts 2004 - 19:27 #6
Prøv med:

select rownum, tab.name
from tab

og derefter med:

select rownum, tab.name
from tab
order by tab.name

så vil du se at rownum's tildeles FØR sorteringen - derfor en select rundt om :-)
Avatar billede arne_v Ekspert
11. marts 2004 - 20:16 #7
Ah - se det var jeg ikke klar over
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester