千家信息网

LISTAGG函数怎么使用

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍"LISTAGG函数怎么使用",在日常操作中,相信很多人在LISTAGG函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"LISTAGG函数怎么
千家信息网最后更新 2024年12月12日LISTAGG函数怎么使用

这篇文章主要介绍"LISTAGG函数怎么使用",在日常操作中,相信很多人在LISTAGG函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"LISTAGG函数怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

LISTAGG函數 Oracle 11.2之後推出的:字符串聚合

字符串聚合就是按照分组把多行数据串联成一行,以下面的结果集为例:

11.2之前有WMSYS.WM_CONCAT函數,不過是非文檔說明的

舉個列子

為實現,同一類不同行數據 在 一行中顯示出來,可以使用

wmsys.wm_concat (a.FAILURE_DESC||'-'|| a.FAILURE_QTY)

LISTAGG(a.FAILURE_DESC||'-'|| a.FAILURE_QTY)WITHIN GROUP(ORDER BY NULL)

select a.shift, a.work_order, a.machineid, a.date_work, a.part_name, a.model_name,a.CUSTOMER_NAME,

a.model_serial, a.QTY,TO_CHAR(wmsys.wm_concat(a.FAILURE_DESC||'-'|| a.FAILURE_QTY)) from (

SELECT a.shift, a.work_order, a.machineid, a.date_work, a.part_name, a.model_name,a.CUSTOMER_NAME,

a.model_serial, SUM (a.pass_qty) QTY,b.FAILURE_DESC,b.FAILURE_QTY

FROM (SELECT a.shift, a.work_order, a.machineid,c.CUSTOMER_NAME,

CASE WHEN a.shift = 'N' AND a.time_section <8

THEN TO_CHAR (TO_DATE (a.work_date, 'yyyy/mm/dd') - 1,'yyyymmdd')

ELSE a.work_date

END AS date_work,

a.pass_qty, b.part_name, a.model_name, b.model_serial

FROM (SELECT work_date, work_order, machineid, model_name,

CASE WHEN time_section > 8

AND time_section <=20

THEN 'D'

ELSE 'N'

END shift,time_section, pass_qty

FROM wip_d_machine_uph) a,mms.bdm_s_product b,BDM_S_CUSTOMER c

WHERE a.model_name = b.part_no and b.CUSTOMER_ID = c.CUSTOMER_ID)a,

(select a.*,

CASE WHEN time_section > 8 AND time_section <= 20

THEN 'D'

ELSE 'N'

END shift ,

CASE WHEN time_section > 8

AND time_section<= 20

THEN to_char(FAILURE_INIPUT_TIME,'yyyymmdd')

ELSE to_char(FAILURE_INIPUT_TIME-1,'yyyymmdd')

END work_date

from OEE_D_FAILURE_INPUT a) b

where a.WORK_ORDER = b.WORK_ORDER(+)

and a.model_name = b.PART_NO(+)

and a.MACHINEID = b.MACHINE_ID(+)

and a.DATE_WORK = b.work_date(+)

and a.shift=b.shift(+)

and a.DATE_WORK>='20130101' and a.DATE_WORK<='20130203' and a.CUSTOMER_NAME ='DELL'

GROUP BY a.shift,a.work_order,a.machineid,a.date_work,a.part_name,a.model_name,a.model_serial,a.CUSTOMER_NAME,b.FAILURE_DESC,b.FAILURE_QTY) a

GROUP BY a.shift,a.work_order,a.machineid,a.date_work,a.part_name,a.model_name,a.qty,a.model_serial,a.CUSTOMER_NAME

到此,关于"LISTAGG函数怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

函数 学习 一行 字符 字符串 更多 帮助 实用 接下来 就是 数据 文章 方法 是非 理论 知识 篇文章 结果 网站 资料 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州一飞网络技术有限公司 有如下数据库表 代理服务器登录 mfc串口数据库用什么好 手机软件开发用什么u 河南钧翊网络技术有限公司 饥荒租用服务器 大企业网站用自己服务器吗 肇庆通信软件开发价钱 汉阳区电商网络安全维护报价表 计算机网络技术毕业做通信工程 眉山公安网络安全法宣传 工行查金融信息基础数据库 exists 数据库 神舟电脑网络安全 常用的数据库维护命令是什么 辽宁信息化软件开发服务应用 苹果有自己的数据库软件吗 视频服务器每隔几小时就跳几分钟 应用网络技术有限公司职务 千牛后台显示服务器响应不安全 服务器硬件调优 做软件开发要会什么条件 英雄联盟那个服务器在河北 江苏虚拟化服务器云服务器 提高防范意识共筑网络安全的资料 工业互联网科技是什么意思 网络安全行业平均寿命 管理独立的服务器题机试 南平财务软件开发怎么样
0