echo $sql;
$APPLICATION->ShowViewContent('var-x');
В настройках каталога кажется можно снять галку "не разрешать сохранять товары без цен"
С другой стороны по цене-то никто и не сортирует как правило - делают свойство
$format_string = '{"one":"%s"}'; echo sprintf($format_string , json_encode ($html));
$data = ['one' => $html];
echo json_encode( $data );
А мой вопрос звучал иначе.
Я считаю, что тут надо сделать 3 запроса:
1) SELECT COUNT(*)/SUM(total) ...
2) SELECT MAX(date_added) AS order_last, MIN(date_added) AS order_first ...
3) SELECT *, CONCAT(..) ...
А уже в вызывающем коде объединить результаты в целое. Кроме того, что этот код легче для восприятия, разница в потребляемых ресурсах ( в том числе машинном времени) должна быть заметной.
Предполагаю, что третий запрос был изначально, а потом уже в него напихали всякого. И напрашивается SELECT c.* в третьем запросе.