mysql 多行合并一行

时间:2021-10-30 07:19:35
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. raw_input和input的区别

    raw_input的返回类型是String类型 input的返回类型是int类型 >>> rawinput = raw_input("raw_input:") r ...

  2. ios中如何计算(页数,行数,等等的算法)

    页数 = (总个数 + 每页最大显示个数 - 1) / 每页显示最大的个数

  3. poj 3216 Repairing Company(最短路Floyd + 最小路径覆盖 + 构图)

    http://poj.org/problem?id=3216 Repairing Company Time Limit: 1000MS   Memory Limit: 131072K Total Su ...

  4. java调用.net asmx服务

    有时候,在java下开发会调用一下.net下写的服务,看网上有各种方法,但总是不成功,总结下自己测试过能调用成功的方式: 1. 原始方式http-soap public static String p ...

  5. UVA 1329 - Corporative Network

    带权值的并查集的应用: 代码: #include<cstdio> #include<algorithm> #include<cmath> #include<c ...

  6. iOS开发出错whose view is not in the window hierarchy&excl;的解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个简单的单窗口App在运行时出现错误: 2016-04-07 ...

  7. linux-Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  8. Listener 快速开始

    [SessionListener] @WebListenerpublic class SessionListener implements HttpSessionListener,HttpSessio ...

  9. &excl;&excl;&excl; jquery mobile常用代码

    Jquery MOBILE:  (2014-7-1 发布jquery.mobile 1.4.3版本) <!doctype html> <html> <head> & ...

  10. 通过python3学习编码

    简介 今天在写python程序的时候,遇到了编码问题,今天,我准备好好了解一下编码问题 ASCII编码 计算机是美国人发明的,最初只有不超过256字符需要编码,1字节能编码2**8个,所以ASCII编 ...