ОШИБКА СИНТАКСИСА: предложение GROUP BY не может содержать агрегаты или оконные функции - PullRequest
0 голосов
/ 28 мая 2020
select json_extract(other_detail,'$.is_substitute_allowed') as substitute,
       count(date(order_date)) as order_date 
from prescription_metrics 
group by 1; 

Я не могу сгруппировать по извлеченному значению из other_detail (которое может быть только 0 или 1) в AWS Athena. 'other_detail' - это JSON, а order_date имеет тип date. Ошибка:

Предложение GROUP BY не может содержать агрегаты или оконные функции.

Запрос отлично работает без использования GROUP BY

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Простое решение - использовать вложенный запрос:

select substitute, order_date from 
(select json_extract(other_detail,'$.is_substitute_allowed') as substitute,
       count(date(order_date)) as order_date 
from prescription_metrics)
group by 1;

Кстати, вы имели в виду иметь count(distinct(order_date)) или любую другую манипуляцию с датой (day?) В столбце order_date?

0 голосов
/ 28 мая 2020

Попробуйте запрос ниже:

select json_extract(other_detail,'$.is_substitute_allowed') as substitute, count(date(order_date)) as order_date from prescription_metrics group by json_extract(other_detail,'$.is_substitute_allowed'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...