SELECT
	`w`.`id` AS `id`,
	`w`.`phone` AS `phone`,
	`w`.`belong_id` AS `belong_id`,
	`w`.`name` AS `name`,
	`w`.`password` AS `password`,
	`w`.`email` AS `email`,
	`w`.`qq` AS `qq`,
	`w`.`status_id` AS `status_id`,
	`w`.`level_id` AS `level_id`,
	`w`.`created_time` AS `created_time`,
	`l`.`name` AS `lname`,
	`s`.`status_name` AS `status_name`,
	group_concat(
		DISTINCT cast(
			`p`.`profession_code` AS CHAR charset utf8
		) SEPARATOR ','
	) AS `profession_code`,
	group_concat(
		DISTINCT `p`.`profession_name` SEPARATOR ','
	) AS `profession_name`,
	group_concat(
		DISTINCT `r`.`city_code` SEPARATOR ','
	) AS `city_code`,
	group_concat(
		DISTINCT `r`.`city_name` SEPARATOR ','
	) AS `city_name`,
	group_concat(
		DISTINCT `r`.`county_code` SEPARATOR ','
	) AS `county_code`,
	group_concat(
		DISTINCT `r`.`county_name` SEPARATOR ','
	) AS `county_name`,
	group_concat(
		DISTINCT `r`.`province_code` SEPARATOR ','
	) AS `province_code`,
	group_concat(
		DISTINCT `r`.`province_name` SEPARATOR ','
	) AS `province_name`
FROM
	`worker` `w`
LEFT JOIN `worker_level` `l` ON `w`.`level_id` = `l`.`id`
LEFT JOIN `worker_status` `s` ON `w`.`status_id` = `s`.`status_id`
LEFT JOIN `worker_profession` `p` ON `w`.`id` = `p`.`worker_id`
LEFT JOIN `worker_region` `r` ON `w`.`id` = `r`.`worker_id`
GROUP BY
	`w`.`id`

  GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。

  distinct来返回去除重复的值

 SEPARATOR定义分隔符,GROUP_CONCAT()函数默认是以逗号符号分割
  AS 重命名

结果:
洁具,灯具

33,22

潍坊市,开封市

333,222

安丘市,小开市

3,2 山东省

mysql 多行合并一行的更多相关文章

  1. mysql 多行合并一列

    mysql  多行合并一列 使用的函数为: GROUP_CONCAT(exp) 其中exp 的参数类似如下: (field order  by field   desc  separator ';') ...

  2. SQL实现多行合并一行 .

    ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type ...

  3. ORACLE纯SQL实现多行合并一行

    项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type---------------------- ...

  4. MYSQL多行合并成一行多列

    ), VALUE )) INSERT INTO # VALUES (,,'), (,,'), (,,'), (,,'), (,,'), (,,'), (,,') SELECT code,MIN(nam ...

  5. Sql:多行合并一行以及多条数据取时间最早的那条

    有两个导数据的需求,1.一张表里面每一个订单号可能对应多条数据,每个单号返回时间最早的那条. 2.根据条件查询某个字段并按照逗号,合并在一起. 表类似结构如下: 第一条sql:select c.Id, ...

  6. 【不积跬步,无以致千里】mysql 多行合并函数

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  7. Oracle 多行合并一行 方法

    假如有如下表,其中各个i值对应的行数是不定的 SQL> select * from t; I A          D ---------- ---------- --------------- ...

  8. oracle多行合并一行

    以上图为例 执行SQL语句: select d.group_id,to_char(wm_concat(d.tag)) from Imglib_Group_Tag d where d.group_id= ...

  9. SQL 多行合并一行

    select stuff((select ',' + CONVERT(VARCHAR(50),id)+'' from tab_menu  group by id for xml  path('')), ...

随机推荐

  1. Application failed to start because it could not find or load the QT platform plugin “windows”

    只需要在.exe所在的目录下创建一个目录platforms添加进去缺失的dll即可如图: 参考链接:https://stackoverflow.com/questions/21268558/appli ...

  2. HashMap扩容机制

    1.什么是resize: resize就是重新计算容量:当我们不断的向HashMap对象里不停的添加元素时,HashMap对象内部的数组就会出现无法装载更多的元素,这是对象就需要扩大数组的长度,以便能 ...

  3. Jquery,全选,反选,

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. java 获得系统当前时间

    import org.junit.Test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.uti ...

  5. 表格线边框重复css解决方法

    1.td 的边框和table 的边框重叠 .table { border-left:1px solid #dedede; border-top:1px solid #dedede;} .td { bo ...

  6. PHPExcel在TP下使用

    第一:你要去PHPExcel官网下载,然后放到网站的Vendor文件夹下面.当然这是为了好管理和导入.你放在其他位置也没有关系. 第二:当然是在你需要的地方写代码.我只写样例,你看懂了就可以灵活的使用 ...

  7. c# group by list

    ViewBag.PnlTotal = pnlTotal; // 柱形图 string data = ""; string cat = ""; string bu ...

  8. webstorm上svn的安装使用

    1.首先要下载SlikSvn网址为:https://sliksvn.com/download/  进入该网站可以根据需要下载32位的或者64位的svn.下图为要下载的图标样式 点击下载即可. 2.在w ...

  9. hive案例

    数据倾斜: 操作• Join on a.id=b.id• Group by• Count Distinct count(groupby)• 原因• key分布不均导致的• 人为的建表疏忽• 业务数据特 ...

  10. idea 常见快捷键记录下

    keymaps 选择的是eclipse ctrl shif u              大小写转换 ctrl  o                   类方法列表 ctrl shif alt u  ...