Строчка 'valueDstidArr',r(CAST(GROUP_CONCAT(`value_src`.id SEPARATOR ',') AS text),`value_dst`.value)
выдает синтаксическую ошибку, если поменять на 'valueDstidArr',r("11,11",`value_dst`.value) ошибки нет,
GROUP_CONCAT(`value_src`.id SEPARATOR ',') это числа через запятую
SELECT
`value`,
`unit`,
`productIdArr`,
`idArr`,
`param_src_id`,
GROUP_CONCAT(t1.realValuesArr2) AS realValuesArr FROM (SELECT
`value_src`.`value` AS `value`,
`value_src`.`unit` AS `unit`,
`value_src`.`param_src_id` AS `param_src_id`,
GROUP_CONCAT(`value_src`.product_id separator ',') AS `productIdArr`,
GROUP_CONCAT( `value_src`.id separator ',') AS `idArr`,
GROUP_CONCAT(DISTINCT JSON_OBJECT(
'value', `value_dst`.value,
'param_dst_id', `value_dst`.param_dst_id,
'type',param_type_id(`value_dst`.param_dst_id),
'ref_id',ref_id(`value_dst`.param_dst_id),
'title',param_title(`value_dst`.param_dst_id),
'valueDstidArr',r(CAST(GROUP_CONCAT(`value_src`.id SEPARATOR ',') AS text),`value_dst`.value)
)) AS `realValuesArr2`
FROM `value_src`
LEFT JOIN `value_dst`
ON `value_src`.id = `value_dst`.value_src_id
WHERE `value_src`.param_src_id = $k
GROUP BY `value_src`.unit,`value_src`.value, `value_src`.param_src_id, `value_dst`.value) t1
GROUP BY t1.value, t1.unit