[转载]oracle函数listagg的使用说明
工作中经常遇到很多需求是这样的,根据条件汇总某些字段,比如我遇到的是,我们公司有三个投资平台,同一个客户拿手机号在三个平台都注册了,但注册过的用户名不一样,显示的时候需要根据手机号显示所有注册过的名称。(我用的是oracle数据库)
1、原始数据是这样的,如图:
2、要求显示成这样,如图:
我查了一下oracle函数,这个listagg函数就可以满足它,在网上看了看,都是介绍listagg这个函数的使用方法,看起来真费劲,于是在这里我简明扼要的说明一下
3、具体实现是这样的,也就不废话,看完例子都能懂:
select phone, listagg(log_name, ',') within group(order by phone) logName
from int_phone
where phone = '13350162230'
group by phone
4、需要注意的事项如下:
(1). 必须得分组,也就是说group by是必须的。
(2). listagg函数的第一个参数是需要显示的字段,也就是log_name;第二个参数是数值之间的分隔符;同时还需要进行排序和分组within group (order by name)
[转载]oracle函数listagg的使用说明的更多相关文章
- oracle函数listagg的使用说明(分组后连接字段)
关于oracle函数listagg的使用说明 工作中经常遇到客户提出这样的需求,希望在汇总合并中,能够把日期逐个枚举出来. 如图,原始数据是这样的: 客户希望能够实现这样的汇总合并: 那么通常我会使用 ...
- 关于oracle函数listagg的使用说明
做项目的过程中遇到过一个这样的需求,在“用户查询”前台加一个字段“用户角色”,要将用户的所有角色查询出来放到一个字段中,角色之间用“,”分隔. 发现一个办法是使用Oracle的listagg方法. W ...
- oracle函数listagg使用
作用 可以实现将多列记录聚合为一列记录,实现数据的压缩 语法结构 listagg(measure_expr,delimiter) within group ( order by order_by_cl ...
- Oracle列转行函数LISTAGG()
--Oracle列转行函数LISTAGG() with tb_temp as( select 'China' 国家,'Wuhan' 城市 from dual union all select 'Chi ...
- Oracle列转行函数Listagg以及pivot查询示例
简单的Oracle列转行函数Listagg示例: CREATE TABLE tbl_test (catalog VARCHAR(1),product VARCHAR(2),amount NUMBER) ...
- oracle的listagg函数
今天需要将 BDST_ID相同的PROJECT_ID用逗号分隔拼成一个字符串,于是想到了oracle的listagg函数 表名为PM_BDST_PROJECT select tt.BDST_ID, l ...
- oracle 聚合函数 LISTAGG ,将多行结果合并成一行
LISTAGG( to_char(Item_Category_Name), ',') WITHIN GROUP(ORDER BY Item_Category_Name) -- 将 Item_Cate ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...
- Oracle函数如何把符串装换为小写的格式
我们都知道Oracle函数在实际的应用中比较广泛,对其的实际操作与其相关功能也是颇为熟悉,但是你了解Oracle函数怎样使将字符串装换为小写的格式的具体操作吗?如果你有兴趣的话你就可以浏览以下的文章. ...
随机推荐
- finecms同时调用子栏目和子栏目的文章怎么操作
之前ytkah写过dedecms如何调用当前栏目的子栏目及子栏目文章,那如果是finecms如何同时调用子栏目和子栏目的文章呢? {list action=category pid=0 id=31} ...
- dedecms标签(tags)页面伪静态设置
我们在创建文章的时候经常会设置一些tags,如果发表文章时关键词没添加的话tags也会自动成为文章的关键词,tags是一个不错的功能,通过关键词链接可以快速寻找到相关内容,但是标签页面的url经常会带 ...
- 导出Excel(导出一个模版)
有时,客户需要一个标准的模板来填东西,然后在导入 这时可以弄好excel模板,供导出 /** * 导出excel模板文件 * @param request * @param response * @r ...
- python的static方法和class方法
class Caculator(object): name = "caculator" def __init__(self, x, y): self._x = x self._y ...
- 配置gVim使之不自动生成备份文件
设置 _vimrc set nobacku 1 set nobacku 或指定一个其备份的地方: set backupdir=D:/Program/ Files/Vim /tmp 1 1 1 ...
- DS1-2
#include <stdio.h> void PrintN_1(int i, int N); void PrintN_2(int i); int main() { int n; scan ...
- redis集群redis-cloud搭建
Redis集群中至少应该有三个节点.要保证集群的高可用,需要每个节点有一个备份机.Redis集群至少需要6台服务器. 搭建伪分布式.可以使用一台虚拟机运行6个redis实例.需要修改redis的端口号 ...
- 【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.009-[疯狂Java讲义第3版 李刚]- 泛型 Style:EBook Series:Java Si ...
- [LeetCode] 367. Valid Perfect Square_Easy tag:Math
Given a positive integer num, write a function which returns True if num is a perfect square else Fa ...
- dotnet 命令
以下用实例串起dotnet常用命令,带你玩转dotnet命令. 1.创建(dotnet new) 首先我们创建一个项目,这里我们创建控制台程序,命令如下图所示. dotnet new dotnet n ...