我正在尝试编写一个Postgres查询,以特定格式输出我的json
数据。
JSON数据结构
{
user_id: 123,
data: {
skills: {
"skill_1": {
"title": "skill_1",
"rating": 4,
"description": 'description text'
},
"skill_2": {
"title": "skill_2",
"rating": 2,
"description": 'description text'
},
"skill_3": {
"title": "skill_3",
"rating": 5,
"description": 'description text'
},
...
}
}
}
这是最终数据格式的要求: ```html
这是我需要的数据格式:
```[
{
user_id: 123,
skill_1: 4,
skill_2: 2,
skill_3: 5,
...
},
{
user_id: 456,
skill_1: 1,
skill_2: 3,
skill_3: 4,
...
}
]
到目前为止,我正在使用以下查询:
SELECT
user_id,
data#>>'{skills, "skill_1", rating}' AS "skill_1",
data#>>'{skills, "skill_2", rating}' AS "skill_2",
data#>>'{skills, "skill_3", rating}' AS "skill_3"
FROM some_table
有更好的方法来编写我的查询吗?有400多行和70多种技能。我的上面的查询有点疯狂。任何指导或帮助将不胜感激。
需要注意以下几点:
- 用户对70多种技能进行了自我评估
- 每个技能对象具有相同的结构
- 每个用户对完全相同的技能集进行了自我评估