mysql 多行合并一列

mysql  多行合并一列 使用的函数为:

GROUP_CONCAT(exp)

其中exp 的参数类似如下:

(field order  by field   desc  separator ‘;‘);

具体的例子如下:

创建表:

CREATE TABLE `login` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=gbk;

添加数据:

insert into  login(id,name) values(3,‘dalong‘);
insert into  login(id,name) values(4,‘dalong‘);
insert into  login(id,name) values(5,‘dalong‘);
insert into  login(id,name) values(6,‘dalong‘);
insert into  login(id,name) values(7,‘app‘);
insert into  login(id,name) values(8,‘app‘);
insert into  login(id,name) values(9,‘app‘);

测试结果:

按照name 排序获取id 的组合:

sql 如下:

select  name,group_concat(id  order by id desc separator ‘;‘)  from login group by name;

测试结果:

时间: 2024-11-08 13:15:39

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

mysql多行变多列(衍生形式)

我的这篇文章整理了mysql多行变多列的2种常见形式:http://blog.csdn.net/rainyspring4540/article/details/50231435 这里就不赘述了,下面说下它更复杂的衍生形式: 表结构: create table student ( name varchar(20) not null, -- 姓名 course varchar(20) not null,-- 科目 score int ,-- 成绩 bossEvaluate varchar(20),-

T-SQL行合并成列与列拆分成行

本文出处:http://www.cnblogs.com/wy123/p/6910468.html 感觉最近sql也没少写,突然有一点生疏了,对于用的不是太频繁的一些操作,时间一久就容易生. 多行的某一个列合并成一个列 CREATE TABLE TestColumnMergeAndSplit ( Id int Identity(1,1), BusinessId int, BusinessValue varchar(20) ) GO INSERT INTO TestColumnMergeAndSpl

mysql 和sqlserver的 多行合并成一行

mysql  多行合并: mysql 内置函数 group_concat(exper  SEPARATOR " " ) exper:列明 SEPARATOR " ": 行分隔符 ,这里表示的是使用空格分隔多行 mysql> select * from tmp_02 ; +------------+---------+ | Fclient    | ct      | +------------+---------+ | 安卓       | 1858799 |

oracle多行合并成一行

在mysql有关键字group_concat提供了类似的功能,在oracle中类似功能关键字是wm_concat.比如我有如下查询数据: 但是我希望能够显示成一行查询出来,结果图如下: 关键sql代码形如: select t.sglcheckid,wm_concat(t.salemodulename) from t_item_group_ex t where t.sglcheckid = '000********004' group by t.sglcheckid mysql 多行合并成一行的解

mysql 多行(GROUP_CONCAT)和多列(CONCAT)的合并函数

1,多行合并:把查询的一行或者多行进行合并. SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17: 利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行,如|1 | 10,20,20| 本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如sel

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ,group_concat(sore Separator ';') as score from stu group by name 第二种展现如图----[多行变多列](合并后的数据在不同列上): sql如下: SELECT name , MAX(CASE type WHEN '数学' THEN

mysql合并同一列的值

我有如下的查询条件显示: 我希望最终显示的效果如图: 将id相同的group_name合并到一行.实现方法:在group_name前面加关键字group_concat.然后在sql语句最后加上group by id. group_concat能将同一列的值以逗号分隔开,拼成一个字符串.(mysql自带) 第一个图的sql语句如下: SELECT tr.id ,tig.group_name FROM tj_record tr INNER JOIN tj_item_group_ex tige ON

动态合并GridView数据行DataRow的列

前段时间,Insus.NET一直在演示GridView控件Header头行或列:<动态变更GridView控件列名>和<动态合并或定制GridView控件Header头某些列>,现今想演示合并Gridview的DataRow中的列. 其实合并列也不是什么复杂的问题,只想明白其中的原理,就觉得简单至极. 数据库方面的准备,在此例中略过.在站点创建一个网页,拉GridView控件到.aspx网页中,并用自定义模版显示数据.如下: 去.aspx.cs的code behind写数据绑定代码

行存储 VS 列存储

概述 目前大数据存储有两种方案可供选择:行存储(Row-Based)和列存储(Column-Based).业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全.可靠.完整性.从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局.在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储. 什么是列存储? 列式存储(column-based)是相对于传统关系型数据库的行式存储