Re: cheapest way to access every 15th row in table ordered by timestamp column
From: Slim Dave <slimdave_at_yahoo.com>
Date: Tue, 1 Feb 2011 06:27:30 -0800 (PST)
Message-ID: <583301.77273.qm_at_web30804.mail.mud.yahoo.com>
Date: Tue, 1 Feb 2011 06:27:30 -0800 (PST)
Message-ID: <583301.77273.qm_at_web30804.mail.mud.yahoo.com>
Approximately every 15th row where each row is about two seconds apart ...
SELECT ...
from ...
where extract(second from tstamp) in (0,1,30,31)
/
?
>
>From: "Stephens, Chris" <Chris.Stephens_at_adm.com>
>To: ORACLE-L <oracle-l_at_freelists.org>
>Sent: Wed, 19 January, 2011 16:20:23
>Subject: cheapest way to access every 15th row in table ordered by timestamp
>column
>
>
>11.2.0.2 on Linux 5
>
>We have a lab instrument recording information every 2 seconds into a table.
>
>The scientists pull that data into excel for analysis (I hope to look at this
>excel spreadsheet in the very near future now that I’ve read chapter 9 of Pro
>Oracle SQL).
>
>They are requesting a view that picks out every 15th row of data going back 30
>days.
>
>Can anyone think of a more efficient way to do it than this:
>
>SELECT x.col,
> x.t_stamp
> FROM ( SELECT col,
> t_stamp
> rownum rn
> FROM t
> WHERE t_stamp >= TRUNC( SYSDATE - 30 )) x
> WHERE MOD( x.rn, 15 ) = 0;
>
>
>It feels like there should be a better way to do it.
>
>chris
>CONFIDENTIALITY NOTICE:
>This message is intended for the use of the individual or entity to which it is
>addressed and may contain information that is privileged, confidential and
>exempt from disclosure under applicable law. If the reader of this message is
>not the intended recipient or the employee or agent responsible for delivering
>this message to the intended recipient, you are hereby notified that any
>dissemination, distribution or copying of this communication is strictly
>prohibited. If you have received this communication in error, please notify us
>immediately by email reply.
>
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Tue Feb 01 2011 - 08:27:30 CST
