如何在Postgres的JSONB列中找到最小值的密钥



我需要在JSONB对象中找到最小值的密钥,我发现了最小值,需要在同一查询中找到相同的密钥。

查询我正在使用

SELECT id,min((arr ->> 2)::numeric) AS custom_value 
FROM ( 
   SELECT id, jdoc
   FROM table, 
        jsonb_each(column1) d (key, jdoc)
   ) sub,
     jsonb_each(jdoc) doc (key, arr) 
group by 1 

这将完成工作。
left join ... on 1=1用于用空的JSON保持ID

select      t.id
           ,j.key
           ,j.value
from                            mytable t
            left join lateral  (select      j.key,j.value 
                                from        jsonb_each(column1) as j 
                                order by    j.value 
                                limit       1
                                ) j
            on 1=1

最新更新