Portál AbcLinuxu, 12. května 2025 19:22
SELECT * FROM table WHERE LINENUM BETWEEN 100 AND 200;
nefunguje?
SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY column1) LINENUM, column1, column2 FROM MyTable ORDER BY column1 ) WHERE LINENUM BETWEEN 100 AND 200;Každopádně bych potřeboval nějaké co nejlehčí řešení, protože ten původní mysql dotaz obsahuje i spojování tabulek a tak bych nerad aby byl výsledný dotaz nějaký ohromný. Našel jsem také řešení vypsat N řádků a pak pomocí MINUS odečíst to co nepotřebuju, ale to asi nebude zrovna optimální.
SELECT a, b, c FROM ( SELECT a, b, c, ROWNUM rn FROM ( SELECT a, b, c FROM RECORD WHERE AVAIL='Y" ORDER BY DATE DESC ) WHERE ROWNUM <= 25 ) WHERE rn >= 21;... nedá se nahradit WHERE ROWNUM <= 25 za WHERE rn <= 25?
select * from
(
select id, jmeno, prijmeni, narozen, ulice, mesto,
row_number() over (order by narozen, prijmeni, jmeno) as rnum
from lidi where narozen > to_date('31121999', 'DDMMYYYY')
) where rnum between :rec_from and :rec_to;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.