溫馨提示×

db2多條數(shù)據(jù)合并成一條怎么實(shí)現(xiàn)

db2
小億
722
2023-12-07 08:49:32

在DB2中,可以使用聚合函數(shù)和GROUP BY子句將多條數(shù)據(jù)合并成一條。

假設(shè)有以下的表結(jié)構(gòu)和數(shù)據(jù):

CREATE TABLE my_table (
    id INT,
    value VARCHAR(50)
);

INSERT INTO my_table (id, value)
VALUES (1, 'data1'), (1, 'data2'), (2, 'data3'), (2, 'data4'), (2, 'data5');

要將相同id的多條數(shù)據(jù)合并成一條,可以使用GROUP BY子句和GROUP_CONCAT函數(shù)(將多個(gè)值連接成一個(gè)字符串):

SELECT id, GROUP_CONCAT(value) AS merged_values
FROM my_table
GROUP BY id;

以上查詢將返回以下結(jié)果:

id | merged_values
---+-----------------
1  | data1,data2
2  | data3,data4,data5

可以看到,相同id的多條數(shù)據(jù)已經(jīng)合并成了一條,值連接在一起,以逗號分隔。

注意:在DB2中,GROUP_CONCAT函數(shù)是通過第三方工具或自定義聚合函數(shù)實(shí)現(xiàn)的,所以可能需要安裝或創(chuàng)建相應(yīng)的函數(shù)。

3