zoukankan      html  css  js  c++  java
  • 【oracle开发】wmsys.wm_concat介绍

    wmsys.wm_concat是一个聚合函数,其作用是将一列数据转换成一行,也就是我们常用的行专列,但是该函数是一个undocument函数,所以不推荐大家使用这个函数。因为在后续的版本中还提不提供这个函数都不好说呢。

    首先创建临时表和测试数据

    使用该函数,可以看到我们的按id做group by,把name字段列转置为一行

    但是我们使用wmconcat还是会遇到这么两个问题:1.vm_concat函数是无序的。2.遇到ora-22922的错误。

    通过我们第二步可以看到name字段在列转行后没有按照顺序排列的

    这种情况我们可以使用窗口函数来解决无序的问题呢,如下图所示

    另一种情况是会遇到ora-22922的报错,如下图所示。这种情况一般发生在内层使用to_char这样的函数,外层在去查询这列就报错。

    解决方案是将to_char这类的函数放到最外面执行。

  • 相关阅读:
    DBSCAN密度聚类
    特征工程之特征预处理
    特征工程之特征表达
    特征工程之特征选择
    Adaboost,GBDT和XGboost算法
    036 Go操作NSQ
    035 Go操作Redis
    034 Go操作MySQL
    033 protobuf初识
    032 二进制协议gob及msgpack介绍
  • 原文地址:https://www.cnblogs.com/sunice/p/10576765.html
Copyright © 2011-2022 走看看