VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

WM_CONCAT

功能描述

WM_CONCAT函数可以实现行转列功能,即将查询出的某一列的值使用逗号进行隔开拼接,使之成为一条数据,实现字段合并。

语法格式

SELECT column, WM_CONCAT(column1) FROM table GROUP BY column;

参数说明

column1

表中的某一列。

示例

1、创建测试表并插入数据。

CREATE TABLE shopping (u_id int, goods text, num int);
INSERT INTO shopping VALUES (1, 'Apple', 2), (1, 'Melon', 4), (1, 'Orange', 3);
INSERT INTO shopping VALUES (2, 'Pear', 5);
INSERT INTO shopping VALUES (3, 'Grape', 1), (3, 'Banana', 1);

2、使用WM_CONCAT函数。

SELECT u_id, WM_CONCAT(goods) as goods_sum FROM shopping GROUP BY u_id;
SELECT u_id, WM_CONCAT(goods || '(' || num || ')' ) as goods_sum FROM shopping GROUP BY u_id;

返回结果分别如下:

 u_id |     goods_sum
------+--------------------
    1 | Apple,Melon,Orange
    3 | Grape,Banana
    2 | Pear
(3 rows)

 u_id |          goods_sum
------+-----------------------------
    1 | Apple(2),Melon(4),Orange(3)
    3 | Grape(1),Banana(1)
    2 | Pear(5)
(3 rows)