bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Как получить отсортированный json-массив?

Как сделать, чтобы массив бы отсортирован и на выходе было [3,4,5]?

CREATE TABLE t(c VARCHAR(10), i INT);
INSERT INTO t VALUES ('key', 3), ('key', 5), ('key', 4); 

SELECT JSON_ARRAYAGG(i) FROM t group by c ORDER by i;

SELECT JSON_ARRAYAGG(i) FROM (select c, i from t order by i) t1 group by c;

with t1 as (select c, i from t order by i) 
SELECT JSON_ARRAYAGG(i) FROM t1 group by c;
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
yellow79
@yellow79
Senior Software Engineer
JSON_ARRAYAGG сортировать никак, но как вариант можно найти выход через GROUP_CONCAT
SELECT CONCAT('[', GROUP_CONCAT(i ORDER BY i), ']') FROM t group by c;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы