Ваш желаемый результат недопустим в формате JSON.
Вам нужен массив объектов, а не список разделенных запятыми массивов в фигурных скобках.
Пока вы используете версию, поддерживающуюFOR JSON AUTO
вы можете использовать
SELECT ID,
( SELECT file_id, quantity
FROM YourTable T2
WHERE T2.ID = T1.ID FOR JSON AUTO ) AS file_quantity_merged
FROM YourTable T1
GROUP BY ID
, который возвращает
+----+----------------------------------------------------------------+
| ID | file_quantity_merged |
+----+----------------------------------------------------------------+
| 3 | [{"file_id":1122,"quantity":25},{"file_id":1123,"quantity":3}] |
| 4 | [{"file_id":1126,"quantity":7},{"file_id":1127,"quantity":1}] |
+----+----------------------------------------------------------------+