oracle分组合并数值带顺序

比如:有如下一张设备电子围栏位置坐标的表(tb_equ_point)。

equ_name:设备电子围栏名称

point_id:点位坐标id

point_x:点位x坐标

point_y:点位y坐标。

附数据:

INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃二列回收装置', '1707192429914726402', '84.2097884178748', '41.45319253343837');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃二列回收装置', '1707192429918920706', '84.20991864872965', '41.45267977449036');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃二列回收装置', '1707192429927309314', '84.21122698760112', '41.45286915256579');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃二列回收装置', '1707192429931503618', '84.21116556273135', '41.453349887040574');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('乙烷天然气增压站', '1707192429960863746', '84.20783836821487', '41.45526140938881');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('乙烷天然气增压站', '1707192429969252354', '84.20791184166993', '41.45484777039682');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('乙烷天然气增压站', '1707192429973446657', '84.20917631597212', '41.45499000780251');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('乙烷天然气增压站', '1707192429977640961', '84.20908976877685', '41.45538944455889');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('液化气罐区', '1707192430002806786', '84.20723072875117', '41.45346426655951');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('液化气罐区', '1707192430007001090', '84.20740838206585', '41.45246187545852');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('液化气罐区', '1707192430015389698', '84.20841913655941', '41.45256453477293');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('液化气罐区', '1707192430019584001', '84.20822649186182', '41.45357496335363');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃罐区', '1707192430044749826', '84.20872921576651', '41.45318604610804');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃罐区', '1707192430048944130', '84.20884409341907', '41.45257962408824');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃罐区', '1707192430220910594', '84.2092407921853', '41.45263007114594');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('轻烃罐区', '1707192430225104898', '84.20911756856574', '41.453243652526155');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('丙烷罐区', '1707192430250270722', '84.20896730497799', '41.451822676291805');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('丙烷罐区', '1707192430258659329', '84.2090131474932', '41.451590037400294');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('丙烷罐区', '1707192430262853633', '84.2095576735967', '41.45164557396578');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('丙烷罐区', '1707192430267047938', '84.20950934658842', '41.451900631780624');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('装车站危废库房区域', '1707192430292213762', '84.20630670236255', '41.45587361982766');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('装车站危废库房区域', '1707192430296408066', '84.20666273263066', '41.45394183801273');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('装车站危废库房区域', '1707192430304796674', '84.20785692954897', '41.45406762412216');
INSERT INTO "tb_equ_point" ("EQU_NAME", "POINT_ID", "POINT_X", "POINT_Y") VALUES ('装车站危废库房区域', '1707192430308990978', '84.20749154021959', '41.45595024021673');

 

现在想把数据按名称合并,一组x坐标和y坐标放在一起,用 “,” 隔开,x,y的顺序要对应

效果如下图:

 sql如下:

SELECTequ_name,LISTAGG ( POINT_X, ',' ) WITHIN GROUP ( ORDER BY point_id ) AS POINT_X,LISTAGG ( POINT_Y, ',' ) WITHIN GROUP ( ORDER BY point_id ) AS POINT_Y 
FROMtb_equ_point
GROUP BYequ_name

 解析:

Oracle的LISTAGG函数将多个结果合并到一起,示例如下:

SELECT name, LISTAGG(x, ',') WITHIN GROUP (ORDER BY x) AS x_list, LISTAGG(y, ',') WITHIN GROUP (ORDER BY y) AS y_list
FROM table_name
GROUP BY name

其中,table_name是你的表名,x_list和y_list分别是按name分组后合并的x和y结果。如果需要在结果中添加分隔符,可以在LISTAGG函数的第一个参数中指定。例如,如果想在结果中使用“|”作为分隔符,可以将函数改为:

LISTAGG(x, '|') WITHIN GROUP (ORDER BY x) AS x_list

同样的,也可以使用其他聚合函数,如MAX、MIN、AVG等。

注:合并的字段,x,y要顺序对应的话,要有一个统一的标识point_id。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/92306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

番外3:下载+安装VMware(前期准备)

step1: 查看自己笔记本电脑配置; step2: 下载并安装VMware(下载地址www..kkx.net/soft/16841.html)这里选择本地普通下载; step3: 安装VMware过程中需要填写密钥(本人用的最后一个); #UU54R-FVD91-488PP-7N…

QUIC不是TCP的替代品

QUIC取代了TCP成为HTTP3的基础传输协议,不是因为QUIC能够取代TCP的所有应用场景,而是因为QUIC更适合HTTP的请求/响应业务模型。原文: QUIC Is Not a TCP Replacement TCP新规范(RFC 9293)的发布是网络界的一件大事,值得围绕这一主题发表第二篇…

Android开源库

见:GitHub - eHackyd/Android_OpenSourceLibrary: Android开源库的学习笔记

友思特案例|友思特 Ensenso 3D相机:汽车工业自动化的革命性力量

01 内容摘要 在竞争激烈的汽车行业,自动化生产至关重要。友思特 Ensenso 3D相机为汽车制造商提供了可靠的工具和技术支持,助力多个关键环节。它在汽车座位泡棉切割中提高精确度,降低浪费,提高生产效率;在汽车压铸零部…

kill -9 的用法

kill -9 是一个 Linux 命令&#xff0c;用于强制终止一个进程。当你在终端中输入 kill -9 <PID> 并按下回车后&#xff0c;系统会发送一个强制终止信号给指定进程的进程 ID&#xff08;PID&#xff09;&#xff0c;以立即终止该进程。 需要注意的是&#xff0c;使用 kil…

<泛型>带你更详细的认识泛型

了解泛型 现在有一个需求&#xff1a;写一个打印类&#xff0c;用来打印不同类型的数据 //类1 &#xff1a;打印Integer类型的数据 public class IntegerPrint {Integer content;public void Integer(Integer content) {this.content content;}public void print(){System.o…

Python3数据科学包系列(二):数据分析实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 一&#xff1a;通过read_table函数读取数据创建(DataFrame)数据框 #…

在服务器上使用nginx改变前端项目请求的url

location /app-dev {rewrite ^/app-dev/(.*) /$1 break;proxy_pass http://152.136.36.251:9999;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; } location /请求后缀 { rewrite ^/app-dev/(.*) /$1 break; proxy_pass 想要的请求后端的url; …

九、GC收集日志

JVM由浅入深系列一、关于Java性能的误解二、Java性能概述三、了解JVM概述四、探索JVM架构五、垃圾收集基础六、HotSpot中的垃圾收集七、垃圾收集中级八、垃圾收集高级👋GC收集日志 ⚽️1. 认识GC收集日志 垃圾收集日志是一个重要的信息来源,对于与性能相关的一些悬而未决的…

Ubuntu22无法自动进入lightdm图像界面

问题&#xff1a;Ubuntu22无法自动进入lightdm图像界面&#xff0c;必须手动运行 lightdm start解决方案&#xff1a; 方案一&#xff1a; 运行一个终端输入 cat /etc/X11/default-display-manager /etc/init/lightdm.conf不接受lightdm作为设置&#xff0c;但是&#xff0c;/…

1.5.C++项目:仿muduo库实现并发服务器之socket模块的设计

项目完整版在&#xff1a; 一、socket模块&#xff1a;套接字模块 二、提供的功能 Socket模块是对套接字操作封装的一个模块&#xff0c;主要实现的socket的各项操作。 socket 模块&#xff1a;套接字的功能 创建套接字 绑定地址信息 开始监听 向服务器发起连接 获取新连接 …

uni-app:实现页面效果3

效果 代码 <template><view><!-- 风速风向检测器--><view class"content_position"><view class"content"><view class"SN"><view class"SN_title">设备1</view><view class&quo…

json/js对象的key有什么区别?

1.对于JS对象来说 一个js对象如果是这样的 obj {"0": "小明","0name": "小明明", "": 18,"&#xffe5;": "哈哈"," ": "爱好广泛" }对于js对象来说&#xff0c;有时候key是不…

2023.9.23 关于 HTTP 详解

目录 HTTP 协议 认识 URL HTTP 请求 认识方法 HTTP 响应 认识状态码 总结 HTTP 请求的构造 Form 表单构造 AJAX 构造 Postman 构造 HTTP 协议 应用层使用最广泛的协议浏览器 基于 HTTP协议 获取网站是 浏览器 和 服务器 之间的交互桥梁HTTP协议 基于传输层的 TCP协…

计算机竞赛 深度学习火车票识别系统

文章目录 0 前言1 课题意义课题难点&#xff1a; 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 图像识别 火车票识别系统 该项目较为新颖&#xff0c;适…

下载盗版网站视频并将.ts视频文件合并

. 1.分析视频请求123 2.数据获取和拼接 1.分析视频请求 1 通过抓包观察我们发现视频是由.ts文件拼接成的每一个.ts文件代表一小段2 通过观察0.ts和1.ts的url我们发现他们只有最后一段不同我们网上找到url获取的包3 我们发现index.m3u8中储存着所有的.ts文件名在拼接上前面固定…

【深度学习实验】卷积神经网络(三):自定义二维卷积层:步长、填充、输入输出通道

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 步长、填充 a. 二维互相关运算&#xff08;corr2d&#xff09; b. 二维卷积层类&#xff08;Conv2D&#xff09; c. 模型测试 d. 代码整合 2. 输入输出通道 a…

aardio 读取 Excel文件,并显示在 listview

编写 main.aardio 如下 import win.ui; /*DSG{{*/ winform win.form(text"excel1";right801;bottom500) winform.add( button1{cls"button";text"读取Excel文件";left19;top14;right126;bottom44;z1}; button2{cls"button";text&quo…

AUTOSAR汽车电子嵌入式编程精讲300篇-汽车 CAN FD 总线应用研究

目录 前言 汽车总线技术概述 汽车总线的分类与对比 汽车总线发展趋势

有向图访问计数的原理及C++实现

题目 现有一个有向图&#xff0c;其中包含 n 个节点&#xff0c;节点编号从 0 到 n - 1 。此外&#xff0c;该图还包含了 n 条有向边。 给你一个下标从 0 开始的数组 edges &#xff0c;其中 edges[i] 表示存在一条从节点 i 到节点 edges[i] 的边。 想象在图上发生以下过程&am…