您的位置:首页 > 数据库

sql group 分组的时候获取该组的所有id

2016-04-01 10:40 190 查看
sql使用group by 进行分组的时候查找该组的id只会返回一个,只需使用group_concat(id)即可以获得该组的所有id。

创建表;

CREATE TABLE `tb_dept2` (
`id` int(11) NOT NULL,
`name` varchar(22) DEFAULT NULL,
`location` varchar(50) DEFAULT NULL,
`enum` enum('first','second') DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

插入数据;

+----+--------+----------+-------+
| id | name | location | enum |
+----+--------+----------+-------+
| 1 | 21 | 12 | NULL |
| 2 | 2312 | 32 | first |
| 24 | 2641 | 12 | NULL |
| 25 | 23412 | 32 | first |
| 26 | g34fd | we3 | NULL |
| 39 | g34edd | we3 | |
+----+--------+----------+-------+
未使用:

select id from tb_dept2 group by location;
+----+
| id |
+----+
| 1 |
| 2 |
| 26 |
+----+
使用:

select id,group_concat(id) as ids from tb_dept2 group by location
-> ;
+----+-------+
| id | ids |
+----+-------+
| 1 | 1,24 |
| 2 | 2,25 |
| 26 | 26,39 |
+----+-------+
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: