我有一个json样本如下
{
"jsonObject":
[
{ "Name" : "XPerson",
"Age" : 18},
{ "Name" : "YPerson",
"Age" : 18}
]
}我可以把这个列表转换成N个数字。我想在基于年龄的不同专栏中区分这一点,比如在column1中小于18,在column2中18到25之间,在column3中所有其他。
我们如何才能在postgres实现?
发布于 2022-09-29 18:34:19
听起来你是在数据库级别上做前端的工作。
with data(Age,Name) as
(select *
from jsonb_to_recordset(' {
"jsonObject": [
{
"Name": "XPerson",
"Age": 18
},
{
"Name": "YPerson",
"Age": 18
}
]
}'::jsonb -> 'jsonObject') as t("Age" int, "Name" text))
select
string_agg(case when age < 18 then name end,',') as Column1,
string_agg(case when age >= 18 and age <=25 then name end,',') as Column2,
string_agg(case when age > 25 then name end,',') as Column3
from data;https://stackoverflow.com/questions/73900048
复制相似问题