, 'ww'),--按年度1月1日的第一天为每周第一天
TRUNC(SYSDATE, 'iw'),--每周一
TRUNC(SYSDATE, 'w')--按月份1日的第一天作为每周第一天...FROM DUAL;
(4)业务周
业务周是上周六到本周五
SELECT trunc(sysdate, 'iw') - 2, trunc(sysdate, 'iw') + 4
FROM DUAL...;
说明:
sysdate所在的本周一前移2天,即是本业务周开始日期
sysdate所在的本周一后移4天,即是本业务周结束日期
上一个业务周
SELECT trunc(sysdate - 7..., 'iw') - 2, trunc(sysdate - 7, 'iw') + 4
FROM DUAL;
2、获取每个分组中日期最大的一条数据
业务场景:在报表开发中,只需要每个分组最近的一条数据...例如:某天的明细数据中,可能存在多条记录,只需要该天最后更新的一条记录。
思路:对分组进行排序,并编号,然后select编号为1的记录即可。