mysql 字段逗号分割行转列操作】的更多相关文章

由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式,即同一个列中存储了多个属性值.这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果:这里使用substring_index函数进行处理 建表语句: DROP table if EXISTS tbl_name; CREATE TABLE tbl_name( id ) not null auto_increment, userName ) not null, PRIMARY KEY(id) ) ENGINE D…
MySQL存储过程中使用动态行转列 最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个问题了. 而这一次必须要直面这个问题了,奈何我是那么的不想看,可项目不能因为这个问题卡在这,只好好好找资料看如何解决这个问题. 开始也在网上找到一些MySQL行转列的例子,但大部分都是静态的,要么就是不知所云,说的不是很清楚.后来就找到国外的一个资料,参考了之后对照自己项目的数据库,然后便成功的实现…
有时候我们在展示表中数据的时候,需要将行转为列来显示,如以下形式: 原表结构展示如下:---------------------------产品名称    销售额     季度---------------------------奶酪          50     第一季度奶酪          60     第二季度啤酒          50     第二季度啤酒          80     第四季度--------------------------- 现在需要将上面的原表结构转换为…
对于mysql /  hive 再进行统计的时候假设须要行变成列,能够使用函数 CASE 字段a WHEN 值b THEN c [WHEN d THEN e]* [ELSE f] END 当字段a=值b时,返回c(假设是字段的话则代表该字段的值,也能够是一个固定值 加单引號就能够):当a=d时,返回e.否则返回f. 如: 数据表结构:(举例说明.id有反复的) select id ,sum(CASE action when 'article' then count else 0 end) as…
行转列--两种方法第一种方法:行转列我们通常是使用交叉连接和子查询的方式做到,比如下面的例子,查询每个name的对应id的和mysql> select * from user; +----+------+ | id | name | +----+------+ | | a | | | b | | | c | | | d | | | a | | | a | | | c | | | d | +----+------+ 我们用分组查询能得到每个name的id的和,但是是行的形式展示的.mysql>…
1.说明 在做显示数据的时候,一个字段会存那种逗号分割的字符串,那如何去根据逗号分割字符串去查询另一个表的数据呢? 首先我们查看一下需要显示的数据 select * from company where f_id in ('','','') select * from company where f_id in ('210,205,208') 现在我要根据另一张模板表中的一个字段查询他下面的公司,存的是字符串类型 这时 select * from company where f_id in (s…
做项目时,用到了汇总统计的行转列,且 表结构: 具体存储过程脚本如下: -- =============================================-- Author:  -- Create date:  -- Description: -- =============================================ALTER PROCEDURE [dbo].[cp_Material_PutOutCostStat_StatDay_GetFeedConsumeL…
存在表score,记录学生的考试成绩,如下图所示: 现要求以 学生姓名,语文,数学,英语 这种格式显示学生成绩,如下图所示 具体步骤如下: 1.首先,使用case when函数输出单个课程的成绩 case when course='语文' then score end as 语文 case when course='数学' then score end as 数学 case when course='英语' then score end as 英语 sql语句: select name ,cas…
DataGridViewTextBoxColumn acCode = new DataGridViewTextBoxColumn(); acCode.Name = "acCode"; acCode.DataPropertyName = "acCode"; acCode.HeaderText = "A/C Code"; dgvVouchers.Columns.Add(acCode); //添加列 int index = this.FG1.Rows.…
参考:http://www.cnblogs.com/h07061108/p/mysql_questions.html#3806338 实现如下效果 CREATE TABLE IF NOT EXISTS tb_amount( `Id` INT NOT NULL AUTO_INCREMENT, `), `), `Amount` ,), PRIMARY KEY(`Id`) ); ', '1.1'); ', '1.2'); ', '1.3'); ', '1.4'); ', '2.1'); ', '2.2…