Q:LISTAGG()函数用法笔记(oracle)
.LISTAGG()函数作为普通函数使用时就是查询出来的结果列转为行
☆LISTAGG 函数既是分析函数,也是聚合函数
有两种用法:
1、分析函数,如: row_number()、rank()、dense_rank() 等,用法相似
listagg(合并字段, 连接符) within group(order by 合并的字段的排序) over(partition by 分组字段)
2、聚合函数,如:sum()、count()、avg()等,用法相似
listagg(合并字段, 连接符) within group(order by 合并字段排序) --后面跟 group by 语句
实战演练
创建表
CREATE TABLE employees (
employee_id INT,
employee_name VARCHAR(50),
department VARCHAR(50)
);
INSERT INTO employees(employee_id, employee_name, department)
select 1, 'John', 'HR' from dual
union
select 2, 'Alice', 'IT' from dual
union
select 3, 'Bob', 'IT' from dual
union
select 4, 'Mary', 'HR' from dual
union
select 5, 'Eva', 'Finance' from dual

- listagg()分析函数
SELECT DEPARTMENT as 部门,
listagg(EMPLOYEE_ID,'@') within group (order by EMPLOYEE_ID) over(partition by DEPARTMENT) as 序号
from employees;

- listagg()聚合函数
SELECT DEPARTMENT as 部门,
listagg(EMPLOYEE_ID,'@') within group (order by EMPLOYEE_ID) as 序号
from employees group by DEPARTMENT

Q:LISTAGG()函数用法笔记(oracle)的更多相关文章
- oracle 列合并成并用拼接符拼接 -- LISTAGG函数用法
==注:wm_concat(str1) 11g 后不支持使用== LISTAGG函数用法 select LISTAGG(name, ',') WITHIN GROUP (ORDER BY id) fr ...
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- 分享:Oracle 系统变量函数用法说明
在Oracle数据库中,Oracle系统变量函数是经常会使用到的函数,分享下Oracle系统变量函数的用法. Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数. Ora ...
- 【Oracle】OVER(PARTITION BY)函数用法
http://blog.itpub.net/10159839/viewspace-254449/ ................................ OVER(PARTITION BY) ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
- oracle的listagg函数
今天需要将 BDST_ID相同的PROJECT_ID用逗号分隔拼成一个字符串,于是想到了oracle的listagg函数 表名为PM_BDST_PROJECT select tt.BDST_ID, l ...
- Oracle ltrim() 函数用法
Oracle ltrim() 函数用法 2015-03-21 20:42:40 Je_WangZhe 阅读数 8834更多 分类专栏: Oracle 版权声明:本文为博主原创文章,遵循CC 4.0 ...
- Oracle查询,将某列查询结果用逗号隔开,拼接成一行(listagg函数)
需求:Oracle数据库,通过查询,将查询字段的该列结果用逗号拼接成一行. 1. 查询语法 select listagg('字段',',') within group (order by '字段') ...
- [转载]Oracle ltrim() 函数用法
前面有说到过LPAD和RPAD这两个函数用法的文章,今天发现与之相反意义的另外两个函数,那就是LTRIM() RTRIM(). 这次就挑LTRIM() 这一函数来讲讲: 具体的语法格式如下: LTRI ...
- oracle 11g wm_concat 、 listagg 函数的使用(合并数据)
方法一 wn_concat() 函数 1.把以下图中Name一样的数据合并为一条,而且NO的值要这样显示如 C.1,C.2 2.实现这种效果的操作如下,先把Name的值进行分组(group by),再 ...
随机推荐
- docker部署java项目
1.首先你需要提前准备好jar包或者war包,并想办法放入Linux环境(或虚拟机)中: 2.java项目的部署需要用到Tomcat或者Jetty,docker可以直接拉取他俩的镜像,这里以Tomca ...
- Blazor 组件库 BootstrapBlazor 中Circle组件介绍
组件介绍 Circle进度环组件,是一个图表类组件.一般有两种用途: 显示某项任务进度的百分比. 统计某些指标的占比. 它的样子如下: 它的代码如下: <Circle Width="2 ...
- ZCMU-1153
思路 一个感觉是规律问题的数学问题 因为输入的是n所以要的出有关n的关系或者关系 有关排序,所以可以从位次入手,设双胞胎前一个位置在ai,后一个在bi. Sum(bi-ai)=(2+3+4+5+6+. ...
- 全球气象数据ERA5的下载方法
本文介绍在ERA5气象数据的官方网站中,手动下载.Python代码自动批量下载逐小时.逐日与逐月的ERA5气象数据各类产品的快捷方法. ERA5(fifth generation ECMWF ...
- 多线程编程入门Thread_Task_async_await简单秒懂
` using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u ...
- VLC web(http)控制 (3) 播放控制
VLC web(http) 播放控制: 1.如果已经在打开视频 播放和暂停都是:http://127.0.0.1:8080/requests/status.xml?command=pl_pause ...
- 树莓派4B 多屏 QT程序窗口全屏 QScreen 只能获取1个屏幕
直接运行程序时,窗口全屏, 并且QScreen 只能获取1个屏幕,这是由于QT默认使用了EGLFS.(坑了一下午) 所以必须采用命令方式打开程序. ./程序名称 -platform xcb
- [Blazor] 一文理清 Blazor Identity 鉴权验证
一文理清 Blazor Identity 鉴权验证 摘要 在现代Web应用程序中,身份认证与授权是确保应用安全性和用户数据保护的关键环节.Blazor作为基于C#和.NET的前端框架,提供了丰富的身份 ...
- 开源产品测评之 SQL 上线能力
背景 近期,我司准备引入一款 SQL 审核产品来供内部流程使用,解决目前 SQL 人工上线的流程管控问题,目标是对业内的开源产品进行调研,选型一款作为落地方案,后期如果内部有需求可能会进行二次开发.我 ...
- "有邻"创始人:APP覆盖杭州千余小区 却还没认真想过赚钱的事
"远亲不如近邻",常被社区经济"掘金者"拿来做开场语. 在杭州,有不少互联网创业企业在深挖社区经济,例如社区O2O服务平台.杨仁斌也看中了"社区&qu ...