如何按照oracle 10周日开始的星期几或星期日分组?

时间:2010-08-19 17:48:38

标签: sql select date oracle10g group-by

给出一张表:

day_date(yyyy-mm-dd的形式)   COLUMN2   栏3

我希望按周分组数据,每周的开始时间从星期日到星期六,但我想显示day_date。

我到处都看了,我的SQL很生气。

谢谢!

1 个答案:

答案 0 :(得分:1)

假设day_date是一个日期时间字段,并且您希望将该周的开头显示为分组字段,请尝试查询该表单:

select TRUNC(day_date)-TO_NUMBER(TO_CHAR(day_date,'D'))+1 week_start_date,
       MAX(column2), MAX(column3)
from yourtable
group by TRUNC(day_date)-TO_NUMBER(TO_CHAR(day_date,'D'))+1;

如果day_date是一个代表yyyy-mm-dd格式的日期的文本字段,则您需要将上述查询中的day_date替换为to_date(day_date,'yyyy-mm-dd')