zoukankan      html  css  js  c++  java
  • [转载]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)

  • 相关阅读:
    【目录】processing
    【目录】Qt
    【目录】python
    【目录】linux
    【目录】多线程
    【目录】Leetcode
    【leetcode】Restore IP Addresses (middle)
    linux c编程訪问数据库
    『Spring.NET+NHibernate+泛型』框架搭建之Model(二)
    hdu1316(大数的斐波那契数)
  • 原文地址:https://www.cnblogs.com/AaronBear/p/7967570.html
Copyright © 2011-2022 走看看