Re: more sql help - find minimum

From: Subodh Deshpande <subodh_deshpande_at_yahoo.com>
Date: Thu, 30 Jul 2009 08:38:49 -0700 (PDT)
Message-ID: <869044.86128.qm_at_web31101.mail.mud.yahoo.com>


hi,

have you checked the indexes also..

in select  you are selecing runid,   eventtext,  eventtime and in where as in group by
group by pe.runid, pe.eventtime, pe.eventtext, ri.rt_runningstart, pi_issuedate
what if if you just interchange the column in select eventtime, eventtext instead of eventtext,eventtime
 
    13094 17-JUL-2009 00:48:22 Start net counter : 23270, 19515   16-JUL-2009 22:46:59 -- this is lowest
    13095 17-JUL-2009 00:24:21 Start net counter : 27282, 24321   16-JUL-2009 22:31:42 -- this is lower
    13095 17-JUL-2009 00:56:25 Start net counter : 52214, 48918   16-JUL-2009 22:31:42
    13095 17-JUL-2009 01:47:40 Start net counter : 97484, 93424   16-JUL-2009 22:31:42
    13095 17-JUL-2009 02:10:49 Start net counter : 100932, 97309  16-JUL-2009 22:31:42
    13095 17-JUL-2009 02:22:03 Start net counter : 102168, 97329  16-JUL-2009 22:31:42

thanks...subodh

________________________________
From: Barbara Baker <barb.baker_at_gmail.com>
To: oracle-l_at_freelists.org
Sent: Thursday, 30 July, 2009 20:50:10
Subject: more sql help - find minimum

You guys were so generous with my last question that I'm going to ask another. ( I really am sorry, but they have pretty much laid off anyone here who can even spell sql, and I've gone brain-dead)

Here is an example of my records:

          Event
    RUNID Time                 EventText                          FIRSTGOODCOPY
---------- -------------------- ---------------------------------- --------------------
    13091 17-JUL-2009 00:22:52 Start net counter : 31556, 28351   16-JUL-2009 22:29:13
    13091 17-JUL-2009 01:02:30 Start net counter : 66378, 62838   16-JUL-2009 22:29:13
    13094 17-JUL-2009 00:25:39 Start net counter : 11180, 7659    16-JUL-2009 22:46:59
    13094 17-JUL-2009 00:48:22 Start net counter : 23270, 19515   16-JUL-2009 22:46:59
    13095 17-JUL-2009 00:24:21 Start net counter : 27282, 24321   16-JUL-2009 22:31:42
    13095 17-JUL-2009 00:56:25 Start net counter : 52214, 48918   16-JUL-2009 22:31:42
    13095 17-JUL-2009 01:47:40 Start net counter : 97484, 93424   16-JUL-2009 22:31:42
    13095 17-JUL-2009 02:10:49 Start net counter : 100932, 97309  16-JUL-2009 22:31:42
    13095 17-JUL-2009 02:22:03 Start net counter : 102168, 97329  16-JUL-2009 22:31:42

9 rows selected.

I need the earliest eventtime for a specific runid.  (for runid 13095, I want the single record returned for 00:24:21)

Here's my latest attempt, but it's not even close:
select
  runid,   eventtext,  eventtime,
  ri.rt_runningstart firstgoodcopy,
        (select min(pev.eventtime) as min_time
        from pecom_event pev,  runinfo rif
        where pev.runid = rif.run_runid
        and pev.runid in (13091,13094,13095)
        and eventtime >= to_char(trunc(ri.pi_issuedate-1),'DD-MON-YYYY')|| ' ' ||
           to_char(trunc(sysdate) 
          + 23.75/24, 'HH24:MI:SS') ---eventtime ge 11:45pm on pubdate
         )
from pecom_event pe, runinfo ri
where pe.runid = ri.run_runid
  and pe.runid in (13091, 13094, 13095)
  and  eventtext like '%Start net%'
  and eventtime >= rt_runningstart    --- eventtime ge 1st good copy
  and ri.run_productname like 'DPMAIN%'
  and SUBSTR(eventtext,
       INSTR(eventtext, ':', 1, 1)+1,    --- position after leading colon
       INSTR(eventtext, ',', 1,1)-       --- position of leading comma
       INSTR(eventtext, ':', 1, 1)-1)    --- less pos of leading colon to get string length
   > 0
group by pe.runid, pe.eventtime, pe.eventtext, ri.rt_runningstart, pi_issuedate
/

thanks for any help!
Barb


      
--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jul 30 2009 - 10:38:49 CDT

Original text of this message