J'ai une base de données Oracle indexée dans le temps que j'essaie d'interroger par plage de dates. Je veux également faire une réduction des données dans la requête afin que je ne sois pas submergé par trop de données.Filtrage de requête SQL par ligne et par plage de dates
Le stand alone requête date (2352 lignes 0.203s):
select oracle_time from t_ssv_soh_packets0
where oracle_time >= TIMESTAMP '2009-01-01 00:00:00'
AND oracle_time <= TIMESTAMP '2009-01-31 00:00:00'
Le stand le long requête de réduction (1017 dans 0.89s):
select oracle_time from t_ssv_soh_packets0
where (rowid,0) in (select rowid, mod(rownum,50) from t_ssv_soh_packets0)
Lorsque je tente de les combiner pour toujours (48 Takes lignes 32.547s):
select oracle_time from t_ssv_soh_packets0
where oracle_time >= TIMESTAMP '2009-01-01 00:00:00'
AND oracle_time <= TIMESTAMP '2009-01-31 00:00:00'
AND (rowid,0) in (select rowid, mod(rownum,50) from t_ssv_soh_packets0)
Il est évident que je fais quelque chose de fondamentalement mauvais ici, mais je n » Je ne sais pas comment faire une requête par date et réduire les données.
Votre requête ne fonctionne pas dans Oracle qui est la DB je suis coincé en utilisant. Je ne sais pas comment le traduire dans une sous-requête Oracle aime. Je pense que la clause 'group by' est la plus compatible avec DB. – Jason
Désolé. Merci de me le faire savoir. – Narveson