U hebt aaneenschakelingsfuncties nodig zoals CONCAT_WS()
en CONCAT
om de kolommen van elke rij samen te voegen en vervolgens te aggregeren met GROUP_CONCAT()
voor elke name
:
SELECT CONCAT('[', GROUP_CONCAT(CONCAT('(', CONCAT_WS(',', name, device, passed, failed), ')')), ']') AS result
FROM results
GROUP BY name
Bekijk de demo .