Bạn cần các hàm nối như CONCAT_WS() và CONCAT để nối các cột của mỗi hàng và sau đó tổng hợp với GROUP_CONCAT() cho mỗi name :
SELECT CONCAT('[', GROUP_CONCAT(CONCAT('(', CONCAT_WS(',', name, device, passed, failed), ')')), ']') AS result
FROM results
GROUP BY name
Xem bản trình diễn .