Ce face JSON_OBJECTAGG()
JSON_OBJECTAGG() ia două coloane și construiește un obiect: prima dă cheile, a doua valorile. Dacă o cheie apare de mai multe ori, rămâne ultima valoare citită.
Parametri
| Parametru | Descriere |
|---|---|
cheie |
Coloana pentru chei (nu poate fi NULL). |
valoare |
Coloana pentru valori. |
Ce returnează
Un obiect JSON.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE vanzari (
agent VARCHAR(20),
oras VARCHAR(20),
luna INT,
suma INT
);
INSERT INTO vanzari VALUES
('Ana', 'Iași', 1, 1200), ('Ana', 'Iași', 2, 1500), ('Ana', 'Iași', 3, 900),
('Dan', 'Cluj', 1, 900), ('Dan', 'Cluj', 2, 900), ('Dan', 'Cluj', 3, 1700),
('Ioana', 'Iași', 1, 2000), ('Ioana', 'Iași', 2, 1100);
Exemplul 1: Vânzările fiecărui agent, pe luni
SELECT agent, JSON_OBJECTAGG(luna, suma) AS pe_luni
FROM vanzari
GROUP BY agent
ORDER BY agent;
Rezultat
+-------+----------------------------------+
| agent | pe_luni |
+-------+----------------------------------+
| Ana | {"1": 1200, "2": 1500, "3": 900} |
| Dan | {"1": 900, "2": 900, "3": 1700} |
| Ioana | {"1": 2000, "2": 1100} |
+-------+----------------------------------+
Greșeli frecvente
- Cheile duplicate se pierd fără eroare. Asigură-te că perechea (grup, cheie) este unică.
Comenzi înrudite
JSON_ARRAYAGG(): Funcție de agregare: strânge valorile unui grup într-o listă JSON.JSON_OBJECT(): Construiește un obiect JSON din perechi cheie-valoare.