Как сгруппировать по неделям года даты или даты, начинающиеся по воскресеньям в оракуле 10? - PullRequest
0 голосов
/ 19 августа 2010

С учетом таблицы:

день_даты (форма гггг-мм-дд) column2 колонка3

Я хочу сгруппировать данные по неделям, и начало каждой недели происходит с воскресенья по субботу, но я хочу отобразить дату_даты.

Я осмотрелся повсюду, и мне не нравился мой SQL.

Спасибо!

1 Ответ

1 голос
/ 20 августа 2010

Предполагая, что 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 - текстовое поле, представляющеедату в формате гггг-мм-дд, вам нужно будет заменить day_date в приведенном выше запросе на to_date(day_date,'yyyy-mm-dd').

...