|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
sql oracle
Ciao a tutti come posso fa re una cosa del genre con db di oracle?
Vorrei tirarmi fuori i primi 10 record a partire dalla 20 riga Sistemista: select * from test order by limit 10 offset20 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
select * from test where ROWNUM between 20 AND 29
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
non mi reistirusce nulla
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
i record che ho sono 58
ho fatto un count |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
hai ragione ![]() eppure se usi <=9 per prendere le prime dieci righe funziona ![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
confermoi ache a me funziona
eppure se usi <=9 per prendere le prime dieci righe che mi consigli di fare? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
a me hanno consigliato una cosa del genere ma ...
![]() CREATE OR REPLACE PROCEDURE GC_PAGINA_MOV_CASSASPORTELLO -- Restituisce un elenco di record di movimento -- cassa sportello in modalità "paginata" ( incodicecassa IN NUMBER, indatainserimento IN DATE, innumerorigheperpagina IN NUMBER, innumeropaginarichiesta IN NUMBER, outnumerorighetotali OUT NUMBER, outlista OUT tipi.linecursor ) AS var_indicenumerorigainiziale NUMBER; var_indicenumerorigafinale NUMBER; BEGIN var_indicenumerorigafinale := innumerorigheperpagina * innumeropaginarichiesta; var_indicenumerorigainiziale := var_indicenumerorigafinale - innumerorigheperpagina; SELECT COUNT (*) INTO outnumerorighetotali FROM movimentocassasportello WHERE codicecassa = incodicecassa AND TRUNC (datainserimento) = TRUNC (indatainserimento) --AND codicestatomovimentosportello = 1; AND codicestatomovimentosportello IN (1, 2); OPEN outlista FOR SELECT progressivomovimentocassa, progressivomodifica, codicecassa, datainserimento, codicetipomovimento, progressivogiornalieropra, codicetiporichiedente, codicegruppo, codiceorganizzazione, idutente, importototalepra, importototaledtt, codicestatomovimentosportello, numerostampericevuta FROM (SELECT ROWNUM rn, progressivomovimentocassa, progressivomodifica, codicecassa, datainserimento, codicetipomovimento, progressivogiornalieropra, codicetiporichiedente, codicegruppo, codiceorganizzazione, idutente, importototalepra, importototaledtt, codicestatomovimentosportello, numerostampericevuta FROM movimentocassasportello WHERE codicecassa = incodicecassa AND TRUNC (datainserimento) = TRUNC (indatainserimento) --AND codicestatomovimentosportello = 1 AND codicestatomovimentosportello IN (1, 2) ORDER BY datainserimento) vista WHERE vista.rn > var_indicenumerorigainiziale AND vista.rn <= var_indicenumerorigafinale; END; / |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
così funziona:
SELECT T1.RN, T1.COLONNA1 FROM (SELECT ROWNUM RN, COLONNA1 FROM TEST ) T1 WHERE T1.RN BETWEEN 20 AND 29 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
non so come fai ma cmq sei un grande
![]() a settembre per un cliente vengo dalle tue parti io ed il mio collega ti offriamo un cena. ![]() |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
![]() buone vacanze ![]() |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Dec 2001
Città: Cagliari - Roma
Messaggi: 589
|
Quote:
Dovresti trovare.....
__________________
Macbook Pro Mid 2012 con Samsung 840 PRO 256GB Asus N55 - Ho felicemente trattato con lee_oscar, reflectionofdawn, cogand. |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
questa select funziona su oracle.
Mi restituisce 10 record a partire dalla 20 record mentre su db di postgres uso la funzione limit insieme a offset capito? |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
|
oppure così:
select * from T1 where rownum <= 30 minus select * from T1 where rownum <=20 è un'altra via ![]()
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons Un rutto vale più di mille parole. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
select * from T1 where rownum <= 30
minus select * from T1 where rownum <=20 no mi funzia così ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
|
strano, l'ho testata stamattina e mi funzionava...
![]() ma che versione di oracle usi?
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons Un rutto vale più di mille parole. |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
10g
|
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Aug 2001
Città: milano, qualunque birreria
Messaggi: 4208
|
non l'ho ancora usata, ho provato solo su una 9.2i
comunque a me funziona anche se uso anche i singoli campi della tabella in abbinamento al rownum
__________________
Save water: drink beer.
This message has been created with 100% recycled electrons Un rutto vale più di mille parole. |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
l'ho appena riprovata ma nulla da fare,
un cosa sai come posso vedere chi è loggato sul mio database e cosa sta facendo? Da enterprise manager console c'è la voce sessioni da li ho visto qualcosa. ma non quello che cerco |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:10.