Простое решение - использовать вложенный запрос:
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?