sql - 如何查询 postgres 以获取 json 格式的数据?
问题描述
从表中,我只想选择用户的名字和姓氏,前提是他们的年龄大于 10 岁,采用 json 格式。
所以查询的输出应该是
我可以选择创建一个 json 文本,但不确定如何应用 where 子句Key = 'AGE' and value > 10
这是我的查询
select json_object_agg(key,value) from table where key in ('firstname','lastname')
解决方案
添加带有FILTER
子句的聚合:
SELECT id,
json_object_agg(key, value) AS json,
FROM mytable
GROUP BY id
HAVING (max(value::integer) FILTER (WHERE key = 'AGE')) > 10;
推荐阅读
- sql - SQL-在每个用户第 n 次发生事件后返回行
- php - 我可以在wordpress的这个区域添加一个按钮吗?
- google-apps-script - 如何使用辅助表存储电子邮件,根据任务状态向特定人员发送自动电子邮件?
- swift - 在 Swift 中从 UIView 创建 PDF
- pandas - pyspark 中的 defaultdict 实现
- javascript - 通过Id nodejs获取多个元素
- sql - 我有这个错误 ORA-00917:缺少逗号?
- reactjs - 在 apollo 中取消对 refetch 的查询
- javascript - 如何将变量从服务器js文件传递到另一个
- batch-file - 获取电脑扩展槽的卡信息