3,491
社区成员
发帖
与我相关
我的任务
分享
with tb1 as
(select date '2016-01-31' as dat, '11' as data
from dual
union all
select date '2016-02-29' as dat, 'qe' as data
from dual
union all
select date '2016-03-31' as dat, 'qe' as data
from dual
union all
select date '2016-02-22' as dat, 'a' as data
from dual
union all
select date '2016-01-01' as dat, 'a' as data from dual)
select * from tb1 where dat=last_day(dat);
with table1 as
(select date '2016-01-31' as dat, '11' as data from dual
union all
select date '2016-02-29' as dat, 'qe' as data from dual
union all
select date '2016-03-31' as dat, 'qe' as data from dual
union all
select date '2016-02-22' as dat, 'a' as data from dual
union all
select date '2016-01-01' as dat, 'a' as data from dual
)
select * from table1 where to_char(dat,'mm') <> to_char(dat + 1,'mm')
with tb1 as
(select date '2016-01-31' as dat, '11' as data
from dual
union all
select date '2016-02-29' as dat, 'qe' as data
from dual
union all
select date '2016-03-31' as dat, 'qe' as data
from dual
union all
select date '2016-02-22' as dat, 'a' as data
from dual
union all
select date '2016-01-01' as dat, 'a' as data from dual)
select dat, data
from (select dat,
data,
row_number() over(partition by to_char(dat, 'yyyymm') order by dat desc) as fn
from tb1)
where fn = 1