假设你有一个网站,人们在其中发布广告。每个广告都有一些已选属性,例如汽车具有不同的发动机类型、齿轮、颜色等。用户在提交列表之前选择这些属性。我将所选属性以jsonb格式存储在列表表中,查看数据列:
。
因此,每个列表都包含此类数据:
![link to image](https://istack.dev59.com/ronCn.webp)
{
"properties":[
{
"id":"1",
"value_id":"1"
},
{
"id":"2",
"value_id":"5"
},
{
"id":"3",
"value_id":"9"
},
{
"id":"4",
"value":"2.0"
},
{
"id":"7",
"value":"2017"
},
{
"id":"6",
"value":"180.000"
}
]
}
现在的问题是:
1)如何按照 JSON 中的 ID 和值筛选列表?例如,显示 ID = 2 且其值等于 5,ID = 3 且其值等于 9 等。我不需要OR,我需要AND。因此,通过多个 ID 和值进行过滤数据。
2)第一个点 + 比较 ID 和值的能力(大于或小于)。
array['{"id":"1","value_id":"1"}'::jsonb, '{"id":"2","value_id":"5"}', ...]
? - mu is too short