У меня есть табличный тест с двумя столбцами A и B и создайте из него таблицы1 и таблицу2.Получите результат запроса sql как json
test table1 table2
A B A count(A) B count(B) A
95 1 95 7 1 3 95
5 11 5 2 11 2 5
95 1 9 4 95
95 9
95 1
95 9
5 11
95 9
95 9
Как получить результат, как:
{"node": [
{"child": [
{"value": 3,
"name": "1"},
{"value": 4,
"name": "9"}],
"value": 7,
"name": "95"},
{"child": [
{"value": 2,
"name": "11"}],
"value": 2,
"name": "5"}],
"name": "test",
"value": 9}
Первая I группы по колонке А и посчитать группы Name = "95", значение = 7 и имя = "5", значение = 2 , Для каждой группы я считаю также столбец B. Есть много функций json, но до сих пор я понятия не имею, как получить результат выше.
точно запрос должен быть похож на:
select row_to_json(t) from (select * , (select array_to_json(array_agg(row_to_json(u))) from (select * from table1 where table1.a=table2.a) as u) from table2) as t;
ваш JSON действительно не имеет никакого смысла в соответствии с вашими таблицами, вы можете объяснить немного больше о том, как вы хотите получить имена и значения? –
Я редактирую свой стартовый пост, что я сделал, я подсчитываю A и хочу сохранить число «95» в переменной value = 7. Затем II рассчитывает для обеих групп («95» и «5») по B. – StellaMaris
http://sqlfiddle.com/#!9/568307/3 это то, как вы получаете данные из своей базы данных, но idk, как это сделать в этом формате без использования прикладного уровня –