clear markdown feedback
clear markdown feedback
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0. 3364508 fiddles created (36222 in the last week).

CREATE TABLE expenses ( id INT NOT NULL AUTO_INCREMENT, `date` DATE , amount DOUBLE, -- тип данных изменён - присваиваемые ниже значения не соответствуют типу DOUBLE -- откорректировано имя поля в соответствии с запросом на вставку данных currency CHAR(3), product VARCHAR(45), -- добавлен первичный ключ PRIMARY KEY (id) ); INSERT INTO expenses(`date`, amount, currency, product) VALUES ('2021-04-22', 12, 'USD', 'Salmon'), ('2021-04-27', 4.75, 'EUR', 'beer'); SELECT * FROM expenses;
id date amount currency product
1 2021-04-22 12 USD Salmon
2 2021-04-27 4.75 EUR beer
 hidden batch(es)


/* требуемый ответ - откорректирован в соответствии с исходными данными { "2021-04-22": [ { "id": 1, "date": "2021-04-22", "amount": 12, "currency": "USD", "product": "Salmon" } ], "2021-04-27": [ { "id": 2, "date": "2021-04-27", "amount": 4.75, "currency": "EUR", "product": "Beer" } ] } */
 hidden batch(es)


SELECT JSON_OBJECTAGG(`date`, JSON_ARRAY(JSON_OBJECT('id', id, 'date', `date`, 'amount', amount, 'currency', currency, 'product', product))) result FROM expenses
result
{"2021-04-22": [{"id": 1, "date": "2021-04-22", "amount": 12.0, "product": "Salmon", "currency": "USD"}], "2021-04-27": [{"id": 2, "date": "2021-04-27", "amount": 4.75, "product": "beer", "currency": "EUR"}]}
 hidden batch(es)