在oracle中,可以利用listagg函数配合“order by”子句实现多行转一行,该语句可以对数据进行排序,然后将排序的结果拼接起来,语法为“listagg (列名,‘分隔符’) within group(order by 列名)”。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
由于需要,需要将获取到的机构组织下的子组织组成一行数据,使用到了Oracle自带的函数
listagg (列名,‘分隔符’) within group(order by 列名)
即在每个分组内,LISTAGG根据order by子句对列植进行排序,将排序后的结果拼接起来
我的组织结构是个树形结构,下面的SQL则是查询出当前部门下的所有子部门的名称。
SELECT LISTAGG(O.ORGNAME,',') WITHIN GROUP(ORDER BY LEVEL) FROM ORGANIZATION O START WITH O.ORGID = 1000 CONNECT BY PRIOR O.ORGID = O.PID AND LEVEL<4
注:上面的SQL用到了Oracle的关键字LEVEL,它表示了树形结构中的数据在哪个层级
上面SQL还用到了Oracle树形查询语句START WITH … CONNECT BY PRIOR …
若查询的是该节点的所有父节点,则上面START WITH SQL应该改为:START WITH O.ORGID = 1000 CONNECT BY PRIOR O.PID = O.ORGID(PRIOR后面的字段与先前的顺序不一样)
ORGANIZATION表数据如下
| ORGID | ORGNAME | PID |
|---|---|---|
| 1000 | 小学 | 0 |
| 1100 | 一年级 | 1000 |
| 1200 | 二年级 | 1000 |
| 1101 | 101班 | 1100 |
| 1102 | 102班 | 1100 |
| 1103 | 103班 | 1100 |
| 1201 | 201班 | 1200 |
1.LEVEL
jQuery+PHP实现微信大转盘抽奖
微信大转盘抽奖-jQuery+PHP实现,发现很多转盘抽奖,都实现了前台部分,大部分都使用了HTML5技术,但是后台自己调整抽奖几率不方便,索性自己收集资料,在一个转盘抽奖的基础上,增加了PHP部分代码,可以对抽奖几率进行自定义,设置请参考data.php文件,相关部分给出了注释。
0
查看详情
SELECT ORGNAME,LEVEL FROM ORGANIZATION START WITH ORGID = 1000 CONNECT BY PRIOR O.ORGID = O.PID
执行结果如下
| ORGNAME | LEVEL |
|---|---|
| 小学 | 1 |
| 一年级 | 2 |
| 二年级 | 2 |
| 101班 | 3 |
| 102班 | 3 |
| 103班 | 3 |
| 201班 | 3 |
2.LISTAGG…WITHIN GROUP…
SELECT LISTAGG(O.ORGNAME,',') WITHIN GROUP(ORDER BY LEVEL) FROM ORGANIZATION O
执行结果如下:
小学,一年级,二年级,101班,102班,103班,201班
3.将父节点下的所有子节点拼成一行
SELECT LISTAGG(O.ORGNAME,',') WITHIN GROUP(ORDER BY LEVEL) FROM ORGANIZATION O START WITH O.ORGID = 1000 CONNECT BY PRIOR O.ORGID = O.PID AND LEVEL<4
执行结果如下:
小学,一年级,二年级,101班,102班,103班,201班
推荐教程:《Oracle视频教程》
以上就是oracle怎么多行转一行的详细内容,更多请关注其它相关文章!
# 二年级
# 沙市网站建设
# 如何做推广与营销
# 东区响应式网站建设团队
# 海外seo面试小白答案
# 网站站群建设作文
# 彭州网站推广哪家好
# 栾城网站建设电话
# 网站seo优化免费咨询
# 出了
# 分隔符
# 是个
# 如何设置
# 客户端
# 的是
# 怎么看
# 子句
# 默认值
# oracle
# 天津网站建设资讯
# 嘉定区快速营销推广部门
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略
Google Drive API服务器端访问指南:服务账户认证详解
微信步数怎么刷_微信步数快速提升技巧
有道AI翻译入口 智能写作官方网站入口
PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略
PSD转AI文件的简单方法
Vue 3中独立响应式实例的创建与应用
苹果17 Pro如何启用分屏浏览_iPhone 17 Pro分屏浏览设置步骤
AO3中文版手机快速通道_AO3最新稳定链接更新
画质怪兽120帧安卓和平精英免费版
iphone16系列配置参数介绍
Lar*el Eloquent:高效删除多对多关系中无关联子记录的父模型
5G和6G的连接密度有什么区别 6G每平方公里能连接多少设备
CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条
解决jQuery多计算器输入字段冲突的教程
安居客移动经纪人怎么设置自动回复?-安居客移动经纪人设置自动回复的方法
sublime如何撤销关闭的标签页_sublime重新打开已关闭文件技巧
精通VS Code多光标编辑以实现闪电般快速的修改
广州地铁app准妈咪徽章领取方法
《理想汽车》权限管理设置方法
包子漫画在线观看入口 包子漫画网正版全集链接
高德地图导航路线偏差报警频繁怎么办 高德地图路线偏差修复与优化方法
4399造梦西游3无敌版_4399游戏入口
苹果手机缓存怎么清除_苹果手机缓存如何清除iphone各版本操作步骤
哔哩哔哩的|直播|间怎么送礼物_哔哩哔哩|直播|送礼操作指南
Three.js中动态更换3D模型纹理的教程
知乎APP怎么查看自己被邀请的问题_知乎APP邀请回答记录查看与参与方法
聚水潭ERP后台管理系统登录 聚水潭ERP官方登录通道
《虎扑》取消评分记录方法
2025SNH48年度青春盛典门票价格及购买方式
苹果手机手电筒无法开启
QQ阅读小说搜索入口地址_QQ阅读小说搜索入口地址搜索在线阅读
汽车之家网页版免费登录_汽车之家官网首页直接进入
《下一站江湖2》独孤剑诀习得方法
C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏
QQ邮箱手机版网页版 QQ邮箱登录入口地址
Excel宏怎么删除_Excel中删除宏的详细操作流程
实时数据流中高效查找最小值与最大值
在J*a中如何实现类的继承与方法重用_OOP继承方法重用技巧分享
钉钉任务无法提醒如何处理 钉钉任务提醒优化方法
研招网官方网站正版登录网址_中国研究生招生信息网官网首页
汽水音乐在线入口 汽水音乐网页端官方页面快速打开
学习通网页版个人登录_学习通网页版个人账户登录入口
Animex动漫社正版在线入口 Animex动漫社动漫官方观看网
《桃源记2》资源采集攻略
微信如何设置字体大小_微信字体设置的阅读舒适
使用Python和GBGB API高效抓取指定日期范围和赛道比赛结果教程
在VS Code中利用AI辅助进行代码迁移
在Spring Boot Thymeleaf中利用布尔属性实现容器的条件显示
学习通网页版课程打不开_课程无法访问时的解决方法
2022-03-07
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。