Jak vybrat 100000. radek

Vojtech Novacek linux na netcore.cz
Čtvrtek Květen 18 09:07:29 CEST 2000


On Tue, 16 May 2000, Milan Sorm wrote:

> Chtel bych vybrat 100000. radek. Zkousel jsem
> 
> select * from tabulka where rownum = 100000
> 
> ale to nevybralo nic. nemate nekdo nejaky napad ?
> 
> jde o Oracle.
> 
> --milan
> 

pseudosloupec rownum udava aktualni pocet vybranych zaznamu, proto nejde v
teto situaci pouzit. Muzete ale zkusit toto:

select neco from
	(select neco, rownum as pos from tabulka)
where pos = 100000

pripadne:

select * from
	(select x.*, rownum as pos from
		(select * from tabulka)
	) x
where pos = 100000

Tento postup se da mimochodem pouzit i jako nahrada postgreSQL( a
myslim i MySQL) syntaxe limit ... offset, pokud v podmince bude napr.:

...
where pos > 20 and pos <= 30

Jakkoliv to vypada pomerne slozite, oracle by se s tim diky vnitrni
optimalizaci(?) mel velmi dobre vyporadat.


				  _---------------------------------------
	Vojtech Novacek		_-
--------------------------------



Další informace o konferenci Databases