如有如下几条数据
中国 北京
中国 上海
中国 深圳
美国 XX
美国 YY
我想查询出来的结果为 两个字段 如下
中国 北京,上海,深圳
美国 XX,YY
这个可以实现吗
如有如下几条数据
中国 北京
中国 上海
中国 深圳
美国 XX
美国 YY
我想查询出来的结果为 两个字段 如下
中国 北京,上海,深圳
美国 XX,YY
这个可以实现吗
CREATE DATABASE test;
CREATE TABLE city(
Id INT,
pname VARCHAR(50),
name VARCHAR(50)
);
USE test;
INSERT INTO common.city (Id, pname, name)
VALUES (1, '中国','北京');
INSERT INTO common.city (Id, pname, name)
VALUES (2, '中国','上海');
INSERT INTO common.city (Id, pname, name)
VALUES (3, '美国','XX');
INSERT INTO common.city (Id, pname, name)
VALUES (4, '美国','YY');
SELECT pname,GROUP_CONCAT(name) AS name FROM city GROUP BY pname
以上为mysql,如果是其他数据库,使用的函数不一样而已。orcale中使用wmsys.wm_concat,根据数据库类型不一样,函数不一样