我正在尝试从我的数据库中提取一些统计数据。我有一个 _employees
表,我想按国家/地区统计员 worker 数。假设 _employees
表有一个列 country
并且我有这个查询以获取聚合计数的键值表示。
select json_object_agg(key, value)
from (
select distinct e.country
from _employees as e group by (e.country)
) as key,
(
select distinct count(1)
from _employees as e
group by(e.country)
) as value;
我想要这样的数据
{
"ET": 100,
"JM": 245 // And it will go on like this
}
但我有以下错误
key value must be scalar, not array, composite, or json.
这能做到吗?有没有更好的方法来解决这个问题?
最佳答案
在内部查询中选择国家和每个国家的雇员人数:
select json_object_agg(country, count)
from (
select country, count(*)
from _employees
group by 1
) s;
关于json - 如何使用postgres生成一个json对象作为键,值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45250495/