如何在Oracle中的同一单元格中获取多个值

问题描述 投票:0回答:1

我在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个回答
4
投票

如果您使用listagg()或更高级别,可以使用Oracle 11G

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

© www.soinside.com 2019 - 2024. All rights reserved.