【mysql】-【group_concat()】
语法
group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'])
数据准备
CREATE TABLE `t_group` ( `id` int(11) NOT NULL AUTO_INCREMENT, `type_id` int(11) DEFAULT NULL, `spec_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (1, 7, 9); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (2, 7, 10); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (3, 7, 2); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (4, 8, 8); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (5, 8, 90); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (6, 8, 11); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (7, 9, 2); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (8, 9, 18); INSERT INTO `view_db`.`t_group`(`id`, `type_id`, `spec_id`) VALUES (9, 9, 11);
查询语句
SELECT type_id, GROUP_CONCAT( DISTINCT spec_id ORDER BY spec_id desc SEPARATOR ',' ) AS spec_ids FROM t_group GROUP BY type_id ;