json_object_agg 的用法

关系型数据库 Relational DB PostgreSQL 国际化查询 Object 数组 重新映射 键的 Object 时区转换 可视化 SEQUENCE 相关操作 创建数据库 创建用户 PostgreSQL,常被称为“🐘大象SQL”,是一个开源的关系型数据库管理系统。它遵循SQL标准,并提供了丰富的特性集,使得它成为了一个功能强大的数据库解决方案。PostgreSQL不仅支持标准SQL数据类型,如整数、浮点数、日期时间等,还提供了诸如数组、JSON、GIS等复杂数据类型,为用户提供了更大的灵活性和便利性。此外,PostgreSQL还具备高度的可定制性,可以根据应用程序的需求进行调整和优化。 阅读详情

在数据库查询中,遇到这样一个需求:从用量数据表中将表计每天的用量数据统计出来。

用量表主要记录了每块表计每天用了多少电/气。

select meter_id ,json_object_agg(to_char(data_date , 'yyyy-MM-dd HH24:mi:ss') , dosage) as data_info from g_meter_energy_day

WHERE data_date>='${startTime}' and data_date<='${endTime}'

group by meter_id

 

按表计对他们进行分类,把每一天读上来的日期和示数以map形式存在字段中。

json_object_agg(key , value) , 这个函数将字段key 和 value以key:value的形式存在map中以字符串返回。这是一个聚合函数

to_char(data_date , 'yyyy-MM-dd HH24:mi:ss')中:

之前我记得HH是24小时制, hh是12小时制, 但是在pgsql中并不好使,不知道是不是字段类型的原因。 这里使用了HH24显示指定了是24小时制, 如果不加24 , 日期 2021-09-09 00:00:00 会被转换成  2021-09-09 12:05:00 , 只有指定了小时是24小时制才行。 那么还有个问题,为什么分钟00会变成05呢?

用mm表示分钟会被转换成05 , 用mi表示分钟则转成00 , 这是为什么呢?

有可能是在pgsql中不区分MM和mm的大小写,统一按月份来显示, 而00转换月份被转换成了05, 可能是pgsql用mi来表示分钟吧。

MySQL新版本特性之:`MySQL 8.0`的`JSON`聚合函数:`JSON_ARRAYAGG`和`JSON_OBJECTAGG`的应用。 和是 MySQL 8.0 引入的强大的 JSON 聚合函数,它们简化了将关系型数据转换为 JSON 格式的过程,提高了性能,并简化了应用程序的代码。通过学习和掌握这两个函数,可以更有效地处理复杂的数据结构和 API 交互,并构建更强大的应用程序。 阅读详情

相关推荐

PostgreSQL jsonb_object_agg两种用法详解:表行聚合与动态键值对构造

在PostgreSQL中处理JSON数据时,聚合函数是数据转换的核心工具。jsonb_object_agg作为一个高级聚合函数,能将多行键值对高效合并为JSON对象,避免应用层的多次查询和手工拼接。它底层类似HashAggregate,但内存中维护的是不断增长的JSON结构,理解其原理有助于预测性能瓶颈。该函数广泛应用于报表生成、配置表转JSON、动态属性映射等场景。区别于json_object_agg和jsonb_build_object,jsonb_object_agg支持动态键表达式,且对NULL键静

weixin_27697385的博客 259

mysql JSON_OBJECTAGG(x,y)函数使用

JSON_OBJECTAGG(x,y) 是一个将列 x 和 y 聚合为 JSON 对象的聚合函数,通常用于 SQL 中。x 是作为键的列名,y 是作为值的列名,这些键值对将被组装成一个 JSON 对象。JSON_OBJECTAGG(name, salary) 函数将使用 name 作为键、salary 作为值创建一个 JSON 对象,其中包含所有员工的信息。需要注意的是,JSON_OBJECTAGG() 函数只能在支持 JSON 的数据库中使用,例如 MySQL 5.7+ps:函数类也可以使用函数。

qq_57421460的博客 1338

烽火HG680-LC刷机后体验:当贝纯净桌面+讯飞语音,老盒子秒变智能电视的折腾记录

本文详细记录了烽火HG680-LC机顶盒刷机后的使用体验,通过安装当贝纯净桌面和讯飞语音助手,老盒子焕发新生,实现无广告、快速响应的智能电视功能。文章对比了刷机前后的性能差异,分享了影音播放、语音控制等实用功能,并提供了ADB调试和问题解决的实用技巧,帮助用户将闲置的运营商盒子变身为高性能的智能影音中心。

weixin_30292843的博客 469

mysql的JSON_OBJECTAGG妙用之行转列及简写法

接受两个列名或表达式作为参数,第一个列名或表达式用作键,第二个列名或表达式用作值,并返回一个包含键-值对的JSON对象。如果结果不包含任何行,或者发生错误,则返回NULL。如果任何键名为NULL或参数数目不等于2,则会发生错误。从MySQL 8.0.14开始,如果存在over_clause子句,这个函数将作为窗口函数执行。简单的的说成人话就是:假设你有两个列,一个是 字段的属性名称,另外一个字段是属性的值,name可以直接吧这两个字段的数据转成json数据返回。

qq_34787830的博客 1319

BODAS说明书的中文版与相关资料总结

花了三天时间配了控制器的接线口,找了软件安装的一套东西。 又花了一周时间零零散散在网上只找到关于控制器少得可怜的资料: 1.力士乐控制器RC6系列介绍 2.力士乐控制器手册不完整版 3.RC6-9程序下载 力士乐配套的只有德语和英语两版,人工翻译专业文件的价格太惊人,决定自己写一版方便大家。有不正之处欢迎指出。 For these controllers, in the event of an...

我的技术日常 6492

别再只调A*算法了!聊聊ROS机器人导航中,OpenCV视觉信息如何与激光雷达数据“打配合”

本文探讨了ROS机器人导航中激光雷达与OpenCV视觉融合的实战策略,揭示了如何通过多模态感知提升导航精度。文章详细介绍了视觉特征到代价地图的转化方法、系统级挑战的工程解决方案,以及融合感知下的路径规划进化,帮助开发者优化机器人导航系统。

weixin_29278805的博客 226

pgsql中主子表数据使用json_agg和json_build_object汇聚

pgsql中主子表数据使用json_agg和json_build_object汇聚

cainiaobulan的博客 1971

Synopsys AXI VIP 从环境搭建到首个验证场景运行

本文详细介绍了Synopsys AXI VIP从环境搭建到首个验证场景运行的全过程,包括VIP安装、示例工程生成、验证环境解析、仿真调试技巧及进阶优化。特别针对AXI协议验证中的常见问题提供了实用解决方案,帮助工程师快速掌握这一SoC验证必备工具。

weixin_29185493的博客 340

Postgres -- json_object_agg 函数的使用

sql 释义: 将 acl_inventory_resource 资源表中主资源(parent_id IS NULL)对应的扩展属性以 json 字符串的形式,存储在 prop 字段中 SELECT P.res_id, json_object_agg ( P.prop_key, P.prop_value ) AS props FROM acl_inventory_res_prop_data P, acl_inventory_resource r_1 WHERE P.res_id = r_1.

支棱起来 1634

目标检测之Mask R-CNN(Pytorch):小白动手实现项目

目标检测之Mask R-CNN:小白动手实现项目Pytorch引言Mask R-CNN原理简述代码、注释及详细解释 引言 首先声明本项目的运行环境。操作系统为Windows,编写环境为Anaconda3 + Jupyter Notebook。Pytorch版本为 torch 1.7.1+cu110 、torchvision版本为 0.8.2+cu110,cuda版本为cu100,显卡为Nvidia 2060。 我是目标检测领域的小白,刚刚完成了Pytorch的相关入门学习任务,所以我认为学习本篇博客的基础

dzc_go的博客 1万+

手把手教你学simulink(8.3)--实例:基于 Simulink 的自动驾驶汽车速度控制系统设计与仿真

基于 Simulink 的自动驾驶汽车速度控制系统设计与仿真。

MHD0815的博客 1207

PostgreSQL的jsonb_object_agg函数的两种用法

摘要:本文演示了PostgreSQL中两种JSON聚合方法。第一种使用jsonb_object_agg将产品按类别聚合成键值对格式(如{"Laptop":1200}),第二种使用jsonb_agg和jsonb_build_object将每行记录转为JSON对象后聚合成数组。两种方法都能有效将关系型数据转换为JSON格式,执行时间均在毫秒级别,适用于不同场景下的数据转换需求。

l1t的专栏 347

mapbox进阶,dem数据转为等高面,加载转换后的等高面到地图

本文详细介绍如何基于mapbox-gl v3.*.* 版本,使用dem数据转为等高面,加载转换后的等高面到地图,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 406

PostgreSQL中的json_agg()

将查询结果中的多行数据转换为JSON数组格式,每行数据作为数组中的一个元素24。是一个聚合函数,用于将多行数据聚合为一个JSON数组。对于大规模数据,建议结合索引使用,并避免在聚合函数内进行复杂计算78。支持多层嵌套聚合,适用于复杂数据结构。配合,动态构建JSON对象并聚合为数组。若聚合结果包含重复数据,需在聚合前使用。类型,需显式转换以避免类型错误6。确保JSON数组元素按指定规则排列2。若需对聚合结果分页,可通过子查询或。PostgreSQL中的。

quyunde的博客 693

RK3588 平台部署实战:OpenCV + LibTorch + FFmpeg 环境搭建与深度学习推理全流程解析

现在,你已经掌握了在RK3588上搭建OpenCV+LibTorch+FFmpeg环境的完整流程,也完成了深度学习模型的部署测试。不妨从一个具体的应用场景入手(如检测自家宠物的品种),亲手打造属于你的第一个边缘智能应用——当你看到模型在RK3588上精准输出结果时,你会发现:嵌入式深度学习的门槛,其实并没有想象中那么高。这些依赖是编译OpenCV、FFmpeg的基础,安装过程中若提示权限不足,可在命令前加。若能输出预测的类别索引,则说明环境搭建成功,模型推理流程通畅。文件,实现模型加载、图像预处理与推理。

FJN110的博客 532

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

postgres使用聚合函数json_agg()实现行专列

postgres使用聚合函数json_agg()实现行专列

Y175123213的博客 1528

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

达梦数据库学习之四:实现查询结果导出Json

jsonb_build_object函数> ::= jsonb_build_object(, {, , })支持在 参数前指定 DISTINCT 关键字,即 jsonb_agg(DISTINCT ),表示对 进行去重操作。支持指定多个“名称”和“值”,jsonb_build_object 参数的个数必须为偶数。jsonb_build_object 根据指定的“名称”和“值”创建 JSONB 对象。JSON | 达梦技术文档。

bestyellow的专栏 5275

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

PostgreSQL实战:用string_agg和array_agg轻松搞定城市数据聚合(附避坑指南)

本文深入解析PostgreSQL中string_agg和array_agg聚合函数的高效应用,通过实际案例展示如何合并城市数据并优化查询性能。涵盖基础语法、高级技巧、性能差异及常见问题解决方案,帮助开发者掌握数据聚合的最佳实践,特别适合处理电商地址合并、报表汇总等场景。

ol789012345的博客 798

PostgreSQL 函数ARRAY_AGG详解

ARRAY_AGG函数用于将多行数据聚合为数组,支持在PostgreSQL等数据库中使用。其基本语法包含可选的ORDER BY子句控制数组元素排序。典型应用包括:简单聚合所有值、分组聚合(如按班级聚合学生成绩)、排序聚合(如成绩降序排列)以及对结果数组进行操作(如获取数组长度)。类似功能在MySQL中可通过JSON_ARRAYAGG实现。该函数在数据分析中常用于将分散记录整合为结构化数组形式。

best_virtuoso的博客 1121

PostgreSql数据库关于jsonb(json)类型相关函数

PostgreSql数据库对json类型也是做了很多处理,今天我们来了解下PostgreSql数据库的json及jsonb的操作符及常用函数

wanxingahlal的博客 1694

PG数据库制造JSON数据并通过mybatis 进行Json参数处理

结果:[{"姓名" : "xingming"}, {"源码" : "yuanma"}, {"测试号" : "test"}, {"admin" : "admin123"}]json_agg():是一个聚合函数,它返回一个包含了一个分组中的所有的值的组成的 JSON 数组。json_build_object():可将多个字段合并成一个 JSON 对象。

m0_66869007的博客 740

PostgreSQL 将分组后的字段合并成一个 JSON 对象

在本文中,我们介绍了如何使用 PostgreSQL 中的 `json_agg` 函数,将分组后的字段以 JSON 数组的形式保存到新的字段中。使用 `json_agg` 函数将每个组的产品名称和销售数量转换为一个 JSON 数组,并将其命名为 `products` 字段。这个 UPDATE 语句将选取新的命名为 `order_info_query` 的表格,并将 `json_agg` 函数的执行结果作为新字段 `order_info` 的值插入到销售订单表格中。步骤 2:使用 `json_agg` 函数。

木头大左的博客 4316

POSTGRESQL 数组和json处理函数

PostgreSql 聚合函数string_agg与array_agg array_agg 可以 array_agg 排序再array取值,例如查询每个部门第一个入职的人 select deptno, (array_agg(ename order by hiredate asc))[1] from jinbo.employee group by deptno; deptno | array_agg --------±---------- 20 | JONES 30 | ALLEN https://blog.

soband_xiang的专栏 1199

超全 Kingbase KES V9R3C15 JSON 函数指南:从基础操作到高级应用

我用 Kingbase KES V9R3C15 的 JSON/JSONB 函数有段时间了,来跟大家唠唠~ 这两类函数用法差不多,JSONB 查起来更快,大数据量优先选它🤔 常用的有数组操作的 JSON_ARRAY、JSON_ARRAY_APPEND,构造对象的 JSON_BUILD_OBJECT,提取数据的 JSON_EXTRACT,还有聚合用的 JSON_AGG,增删改查、校验聚合都能覆盖。用之前得先创建 mysql_json 插件,不然会报错❌ path 参数别带 * 通配符,我之前踩过好几个坑。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

mysql JSON_ARRAYAGG联合JSON_OBJECT使用查询整合(数组对象)字段

子表数据(表名:students)父表数据(表名:class)sql查询(推荐使用方法一)

qq_39634880的博客 743

PostgreSQL 利用 array_agg 生成交叉表记录

前文我们通过多种方法创建交叉表,但有时前端语言需要容易处理 json 形式记录,然后通过适当控件渲染交叉表或图表。 本文还是通过前文的数据进行讲解,示例数据可以通过前文获取,这里就直接开始了。 查看每个学生每月的各科测评情况 select stu_name, extract (month from eval_day) eval_month, subject, max(eval_result) eval_result from evaluations group by 1, 2, 3 返回结果: .

neweastsun的专栏 854
上一篇: sql中in查不出数据怎么办?
下一篇: mybatis-plus自动生成代码以及page的使用
libingbojava
博客等级 码龄9年 64粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值