给出一张表:
day_date(yyyy-mm-dd的形式) COLUMN2 栏3
我希望按周分组数据,每周的开始时间从星期日到星期六,但我想显示day_date。
我到处都看了,我的SQL很生气。
谢谢!
答案 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')
。