Vous avez besoin de fonctions de concaténation comme CONCAT_WS()
et CONCAT
pour concaténer les colonnes de chaque ligne puis agrégation avec GROUP_CONCAT()
pour chaque name
:
SELECT CONCAT('[', GROUP_CONCAT(CONCAT('(', CONCAT_WS(',', name, device, passed, failed), ')')), ']') AS result
FROM results
GROUP BY name
Voir la démo .