Re: Help needed in SQL Query
Date: Tue, 19 Aug 2003 07:50:22 -0400
Message-ID: <3259768.1061293822_at_dbforums.com>
Originally posted by Surendra
> surendramuthye_at_yahoo.com (Surendra) wrote in message
> news:<742a5eb5.0308180922.fbc759c_at_posting.google.com>...
> > LKBrwn_DBA <member30625_at_dbforums.com> wrote in message
> news:<3231459.1060727002_at_dbforums.com>...
> > > Try this (for Oracle 8i+):
> > >
> > > Select Grp_Code, End_Date,
> > > Rank() Over(Partition By Grp_Code Order By End_Date) As
> Sq
> > > From The_Table Group By Grp_Code, End_Date;
> >
> > Thank you very much. This definitely gives me the result that I
> was looking for.
>
>
> This query works well to give the output as desired.
>
> Here is the query that I used
>
> Select substr(to_date(End_Date,"DD-MON-YYYY"),4), End_Date, Rank()
> Over (Partition by substr(to_date(End_Date,"DD-MON-YYYY"),4) Order by
> End_Date)
> As Sq From The_Table
> Group by substr(to_date(End_Date,"DD-MON-YYYY"),4), End_Date
> where substr(to_date(End_Date,"DD-MON-YYYY"),4)= "Jun-2003"
>
> This gives me (exactly as I wanted)
> Jun-2003 02-06-2003 1
> Jun-2003 16-06-2003 2
> Jun-2003 30-06-2003 3
>
> My next question is how do I extract the Rank() from this result. I
> cannot add a WHERE or HAVING clause specifying the input End_Date as
> this will impact the sequencing. So for example, if the input Date is
> 16-06-2003, I should get 2 as the result. Based on 2, I have to do
> further processing.
>
> Thanks in advance for the input.
Make the query into an inline view:
select *
from
(
Select substr(to_date(End_Date,"DD-MON-YYYY"),4), End_Date, Rank()
Over (Partition by substr(to_date(End_Date,"DD-MON-YYYY"),4) Order by
End_Date)
As Sq From The_Table
Group by substr(to_date(End_Date,"DD-MON-YYYY"),4), End_Date
where substr(to_date(End_Date,"DD-MON-YYYY"),4)= "Jun-2003"
)
where End_Date = TO_DATE('16-06-2003','DD-MM-YYYY');
But instead of substr(to_date(End_Date,"DD-MON-YYYY"),4) use trunc(End_Date,'MM') which will return the 1st of the month.
-- Posted via http://dbforums.comReceived on Tue Aug 19 2003 - 13:50:22 CEST