如何用sql把类似这样子的数据
City People Make
广州 1 A
广州 2 B
广州 3 C
上海 4 A
上海 5 E查出
City Make
广州 A,B,C
上海 A,E
这样子的结果来!
大侠们,这样子能够实现吗??
City People Make
广州 1 A
广州 2 B
广州 3 C
上海 4 A
上海 5 E查出
City Make
广州 A,B,C
上海 A,E
这样子的结果来!
大侠们,这样子能够实现吗??
SELECT City,wm_concat(Make) FROM TABLE;
如果是在mysql上呢?类似的方法是不是group_concat
mysql> select * from city;
+----+----------+------+
| id | city | |
+----+----------+------+
| 1 | guanzhou | a |
| 2 | guanzhou | b |
| 3 | shanhai | a |
| 4 | shanhai | b |
+----+----------+------+mysql> select city.`city`,group_concat(city.``) from `city`;
+----------+---------------------------+
| city | group_concat(city.``) |
+----------+---------------------------+
| guanzhou | a,b,a,b |
+----------+---------------------------+
1 row in set (0.00 sec)结果是这样子的哦!
+----+----------+------+
| id | city | |
+----+----------+------+
| 1 | guanzhou | a |
| 2 | guanzhou | b |
| 3 | shanhai | a |
| 4 | shanhai | b |
| 5 | shanhai | c |
+----+----------+------+
5 rows in set (0.00 sec)mysql> select city.`city`,group_concat(city.``) from `city` group by city.ci
ty;
+----------+---------------------------+
| city | group_concat(city.``) |
+----------+---------------------------+
| guanzhou | a,b |
| shanhai | a,b,c |
+----------+---------------------------+
2 rows in set (0.00 sec)
哈哈 小弟加多一个group by 进去可以实现了!不过还是不懂这个方法的用处。
大哥,有没有什么资料给小弟,让小弟也学习一下这么高级的sql吧!
有啥资料请把资料信息发给我啊!![email protected]
wm_concat()函数还真没用过。。顶一下!
查了下,是用于把列值用符号分隔,并拼成一行来显示。谢谢分享知识
(
City VARCHAR2(20),
People VARCHAR2(20),
MAKE VARCHAR2(20)
);INSERT INTO T112 VALUES('广州', '1', 'A');
INSERT INTO T112 VALUES('广州', '2', 'B');
INSERT INTO T112 VALUES('广州', '3', 'C');
INSERT INTO T112 VALUES('上海', '4', 'A');
INSERT INTO T112 VALUES('上海', '5', 'B');
实测结果: