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 .