Проблему решил следующим образом: у нас на входе есть
tuple(date, orders) AS start.
Если мы хотим из него получить JSON, то нам нужно назвать его поля.
cast(tuple(date, orders), Tuple(date Date, orders UInt64)) AS namedTuple
Далее, преобразуем именованный кортеж в JSON объект.
namedTuple::JSON as jsonedTuple
Мы не можем сразу использовать JSON в groupArray - будет ошибка. Поэтому воспользуемся "хаком". Найдем супертип, который "кушает" и JSON и groupArray -> строка.
toString(jsonedTuple) as stringifiedJson
И вот в эту секунду мы можем сгрупировать наши JSON-строки.
groupArray(stringifiedJSON)
Итоговый код:
SELECT groupArray(toString(cast(tuple(date, orders), Tuple(date Date, orders UInt64))::JSON))
Решение выглядит грязновато. Но это единственное решение, которое я нашел для обхода этой проблемы.