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

来源:互联网 发布:学生就业压力大数据 编辑:程序博客网 时间:2024/06/10 05:12

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 |

+----+-------+


0 0
原创粉丝点击