Potřebujete funkce zřetězení jako CONCAT_WS() a CONCAT zřetězit sloupce každého řádku a poté agregovat pomocí GROUP_CONCAT() pro každý name :
SELECT CONCAT('[', GROUP_CONCAT(CONCAT('(', CONCAT_WS(',', name, device, passed, failed), ')')), ']') AS result
FROM results
GROUP BY name
Podívejte se na ukázku .