Как мне правильно сделать mysql запрос?


@SAPER0V

помогите составить запрос, нужно сгруппировать все записи с названием города и сложить сумму в поле data.

Примерно должно быть так :

{ name: ‘Mascow’ data: {«sum1»: «12», «sum2»: «51»} }

aG8rrQw.png


Ответы на вопрос:

@DanArst

SELECT t.name,
       JSON_OBJECT('sum1', SUM(t.total1), 'sum2', SUM(t.total2)) AS data
FROM
    (SELECT name,
            JSON_EXTRACT(data, '$.sum1') AS total1,
            JSON_EXTRACT(data, '$.sum2') AS total2
     FROM my_table) t
WHERE t.name="Moscow";

 

@rozhnev

select city, 
    json_object(
        'sum1', sum(data->>"$.sum1"),
        'sum2', sum(data->>"$.sum2") 
    ) data
from cities
group by city

https://sqlize.online/sql/mysql57/c93dffc492f48e05…

 

Akina

Извлечь отдельные значения. Агрегировать. Собрать в JSON нужной структуры.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *