【问题标题】:How to get multiple values in same cell in OracleOracle如何在同一单元格中获取多个值
【发布时间】:2016-04-15 18:42:29
【问题描述】:

我在 Oracle 中有一个表,其中有两列。在第一列中,有时存在与第二列中的不同值相对应的重复值。如何编写只显示第一列的唯一值和第二列的所有可能值的查询?

表格有点像下面

COLUMN_1   |   COLUMN_2

NUMBER_1   |       4
NUMBER_2   |       4 
NUMBER_3   |       1
NUMBER_3   |       6
NUMBER_4   |       3
NUMBER_4   |       4
NUMBER_4   |       5
NUMBER_4   |       6

【问题讨论】:

    标签: oracle string-aggregation


    【解决方案1】:

    如果您使用Oracle 11G 或更高版本,则可以使用listagg()

    SELECT 
        COLUMN_1,
        LISTAGG(COLUMN_2, '|') WITHIN GROUP (ORDER BY COLUMN_2) "ListValues"
    FROM table1
    GROUP BY COLUMN_1
    

    否则,请参阅此链接以获取较低版本的替代方案

    Oracle equivalent of MySQL group_concat

    【讨论】:

      猜你喜欢
      • 2020-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多