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. django连接mysql数据库以及建表操作

    django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...

  2. System.Data.DbType映射关系

    有如下类型的映射对照: System.Data.SqlClient.SqlDbType  System.Data.OleDb.OleDbType System.Data.Odbc.OdbcType S ...

  3. Ubuntu 14.04 配置OpenCv 2.4.9

      安装工具 g++ 链接:http://www.cnblogs.com/LQLin168/p/6844593.html 下载OpenCv 2.4.9(官网地址):http://opencv.org/ ...

  4. Python开发【模块】:Celery 分布式异步消息任务队列

    Celery 前言: Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, 举几个 ...

  5. python中len 小练习:获取并输出集合中的索引及对应元素

    len()用来获取长度.字节等数值 1 a = ["hello", "world", "dlrb"] 2 b = len(a) 3 for ...

  6. kubernetes组件架构

    kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效( ...

  7. [转]让linux的coredump文件

    原文标题:gdb结合coredump定位崩溃进程 原文:http://lazycat.is-programmer.com/posts/31925.html 这个文件中说的方法我试过了,在CentOS和 ...

  8. js event

    event jquery获取: 在jquery中调用函数中最多只能有event这一个参数,所有的值在event.data中可以获取. $('select').click(function(event) ...

  9. django组件:中间件

    全局性的逻辑处理 一.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨 ...

  10. 如何使用navicat远程连接服务器上的oracle数据库