Redshift - сортировка данных по неделям - PullRequest
1 голос
/ 22 марта 2019

Я пытаюсь отсортировать некоторые данные в Redshift по неделям.

select CONCAT(CONCAT('Week', ' '), 
EXTRACT(WEEK FROM sale_date::date + '1 day'::interval)) as date,count(*) as total 
from sales 
where sale_date between ('2019-03-22' - 30) and '2019-03-22' 
group by EXTRACT(WEEK FROM  sale_date::date + '1 day'::interval)
order by 1 asc;

Вышеприведенный запрос работает нормально, но результат выглядит следующим образом:

Week 10, 10
Week 11, 20
Week 12, 3
Week 7, 12
Week 8, 3
Week 9, 5

Как я могу изменитьПриведенный выше запрос таков, что результат будет следующим:

Week 7, 12
Week 8, 3
Week 9, 5
Week 10, 10
Week 11, 20
Week 12, 3

1 Ответ

2 голосов
/ 22 марта 2019

вам нужно соотнести полученное значение недели с numeric type для order by выписки.Так что конвертируйте

order by 1 asc в

order by cast(EXTRACT(WEEK FROM sale_date::date + '1 day'::interval) as integer)

...