mysql 拼接列数据

SELECT IF(@ids=w.contract_id,@num:[email protected],@num:[email protected]+1) AS num,@ids:=w.contract_id,w.* FROM

(SELECT (SELECT GROUP_CONCAT(project_name)
FROM production_income_data WHERE contract_id = a.contract_id) AS `names`,

(SELECT GROUP_CONCAT(project_code) FROM production_income_data
WHERE contract_id = a.contract_id) AS `codes`, a.*FROM production_income_data a )w

,(SELECT @num:=0) u,(SELECT @ids:=‘‘) m ORDER BY w.contract_id

原文地址:https://www.cnblogs.com/wjlwo2ni/p/11122278.html

时间: 2024-07-30 07:13:54

mysql 拼接列数据的相关文章

mysql互换表中两列数据

在开发过程中,有时由于业务等需要把一个表中的两列数据进行交换. 解决方案 使用update命令,这完全得益于MySQL SQL命令功能的强大支持. 表格中原来数据类似如下: select * from product; +----+--------+| id | name   | original_price | price  | +----+----+--------+|  1 | 雪糕   |           5.00 |   3.50 | |  2 | 鲜花   |          

SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串

把一列数据拼接成一个字符串比较简单: declare @test varchar(500) set @test=''; select @[email protected]+name+',' from person select @test 但是如果数据中有重复选项,想去掉重复的就比较绕弯了. declare @test varchar(500) set @test=''; select distinct @test=@test+name+',' from person select @test

SQL SERVER 实现分组合并实现列数据拼接

需求场景: SQL SERVER 中组织的数据结构是一个层级关系,现在需要抓出每个组织节点以上的全部组织信息,数据示例如下: ADOrg_ID--------------ParentID-----------------ShortName 001                                                                 顶级组织名称 001.021                     001                        

Mysql语句:删除/添加一列数据

删除一列数据 alter table 表名 drop column 列名 注:在主流数据库下,删除列的语法是一致的,并无差别. 添加一列数据 alter table 表名 add 列名 数据类型 eg: alter table mytable add mycol int(11); 修改一项数据 update mytable set mycol=mydata where 条件;

mysql的char数据类型和varchar数据类型的选择

mysql的char数据类型和varchar数据类型的选择 存储引擎对于选择char和varchar的影响: 对于MyISAM存储引擎:最好使用固定长度的数据列代替可变长度的数据列.这样可以使整个表静态化,从而使数据检索更快,用空间换时间 对于InnoDB存储引擎:使用可变长度的数据列,因为InnoDB数据表的存储格式不分固定长度和可变长度,因此使用char不一定比使用 varchar更好,但由于varchar是按照实际的长度存储,比较节省空间,所以对磁盘I/O和数据存储总量比较好 mysql并

mysql改删数据详解

修改表数据 先给class表增加几行数据以便操作 mysql> insert into class mysql> (sname,gender,company,fanbu) mysql> values mysql> ('xiaoxiao','男','腾讯',200), mysql> ('xiaoqing','女','百度',300); mysql> select * from class; 修改数据 将xiaoxiao的fanbu数据增加200 mysql> upd

MySQL在创建数据表的时候创建索引

转载:http://www.baike369.com/content/?id=5478 MySQL在创建数据表的时候创建索引 在MySQL中创建表的时候,可以直接创建索引.基本的语法格式如下: CREATE TABLE 表名(字段名 数据类型 [完整性约束条件], [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [索引名](字段名1 [(长度)] [ASC | DESC]) ); UNIQUE:可选.表示索引为唯一性索引. FULLTEXT:可选.表示索引为全

MySQL大批量插入数据

MySQL大批量插入数据 1. 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据. ALTER  TABLE  tblname  DISABLE  KEYS; loading  the  data ALTER  TABLE  tblname  ENABLE  KEYS; 这两个命令用来打开或者关闭Myisam表非唯一索引的更新.在导入大量的数据到一 个非空的Myisam表时,通过设置这两个命令,可以提高导入的效率.对于导入大量 数据到一个空的Myisam表,默认就是先导入数据然后才

mysql 插入/更新数据

mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO student VALUES('Bush','M', 60),('Obama', 'M', 45); 允许同时插入多个数据行: 2.只对部分字段赋值 INSERT INTO student(name, sex) VALUES ('Abby', 'F'),('Joseph', 'M'); 没有在INS