我使用这个自定义函数从datalist查询group by。结果,我收到了唯一的查询结果,但作为嵌套对象[{substance: 'value'}]。它更希望我的回答是[value, value, value]。
SQL:
create or replace function api.substances(substance_group text) returns table(substance text)
as 'select api.emissions.substance from api.emissions where api.emissions.substance_group = $1 group by api.emissions.substance;'
language sql;响应:
[
{
"substance": "Arseen"
},
{
"substance": "Benzo[b]fluorantheen"
},
...
]需要响应:
[
"Arseen",
"Benzo fluorantheen",
...
]发布于 2020-03-02 03:09:34
您需要返回一个文本数组(text[])而不是table(text),并对查询使用array_agg函数。像这样:
create or replace function api.substances(substance_group text) returns text[] as $$
select array_agg(api.emissions.substance)
from api.emissions
where api.emissions.substance_group = $1
group by api.emissions.substance;
$$ language sql;https://stackoverflow.com/questions/60452882
复制相似问题