Chris, There is no guarantee that the rows will be returned in order if it matters. Instead of rownum you should use row_number() over(order by t_stamp) rn. Otherwise the query looks reasonable to me. Stephane Faroult RoughSea Ltd <http://www.roughsea.com> Konagora <http://www.konagora.com> RoughSea Channel on Youtube <http://www.youtube.com/user/roughsealtd> On 01/19/2011 05:20 PM, Stephens, Chris wrote: > > 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. > >