表结果:
create table user(
id int ,
username varchar(10),
create_time datetime,
type int
) insert into user (`id`,`username`,`create_time`,`type`)
values ('','张三','2019-04-25 14:36:41',''),
('','张三','2019-04-25 14:37:10',''),
('','张三','2019-04-25 14:37:26',''),
('','张三','2019-04-27 14:38:08',''),
('','张三','2019-04-26 14:36:02',''),
('','张三','2019-04-26 14:36:19',''),
('','李四','2019-04-25 14:39:50',''),
('','李四','2019-04-26 14:39:49',''),
('','李四','2019-04-26 14:39:48',''),
('','李四','2019-04-27 14:39:48',''),
('','李四','2019-04-27 14:39:44',''),
('','王五','2019-04-25 14:36:41','');

数据表:

静态用 case when then

mysql  只能,动态用存储 ,

SQL Server中行列转换用 Pivot UnPivot

结果:

sql:

SET @str='';
set @sql_temp='';
SELECT @str:=CONCAT(@str,'sum(IF(left(create_time,10)=\'',create_time,'\'',',1,0)',') AS ' ,'''',create_time,'''',',') as aa into @sql_temp FROM (
SELECT left(create_time,10) as create_time FROM `user` group by left(create_time,10)) A order by length(aa) desc limit 1;
SET @result_sql=CONCAT('SELECT user.username, ',LEFT(@sql_temp,char_length(@sql_temp)-1),' FROM user GROUP BY username' );
PREPARE stmt FROM @result_sql;
EXECUTE stmt ;
deallocate prepare stmt

mysql 动态行转列的更多相关文章

  1. mysql动态行转列

    测试数据 DROP TABLE IF EXISTS `score`; CREATE TABLE `score` ( `id` ) NOT NULL AUTO_INCREMENT, `class` ) ...

  2. 【转】MySQL存储过程中使用动态行转列

    MySQL存储过程中使用动态行转列 最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个 ...

  3. MySQL存储过程的动态行转列

    MySQL存储过程中使用动态行转列 最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个 ...

  4. MySQL 行转列 -》动态行转列 -》动态行转列带计算

    Pivot Table Using MySQL - A Complete Guide | WebDevZoomhttp://webdevzoom.com/pivot-table-using-mysql ...

  5. 中等难度SQL语句(存储过程,分页,拼接字段、游标,日期类型转换,动态行转列,视图)汇总

    一.创建存储过程 if Exists(select name from sysobjects where NAME = 'sp1LoginUser' and type='P')drop procedu ...

  6. 关于MySQL的行转列的简单应用(二)---group函数

    MySQL的行转列.列转行.连接字符串  concat.concat_ws.group_concat函数用法使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一 ...

  7. mybatis 动态行转列

    SELECT user_name , MAX(CASE course WHEN '数学' THEN score END ) 数学, MAX(CASE course WHEN '语文' THEN sco ...

  8. [MSSQL]採用pivot函数实现动态行转列

    环境要求:2005+ 在日常需求中常常会有行转列的事情需求处理.假设不是动态的行,那么我们能够採取case when 罗列处理. 在sql 2005曾经处理动态行或列的时候,通常採用拼接字符串的方法处 ...

  9. mysql之行转列与列转行

    mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...

随机推荐

  1. UIImageView自适应图片大小

    窗口大小获取: CGRect screenBounds = [ [UIScreenmainScreen]bounds];//返回的是带有状态栏的Rect CGRect rect = [ [UIScre ...

  2. SQL语句删除和添加外键、主键的方法

    --删除外键 语法:alter table 表名 drop constraint 外键约束名 如: alter table Stu_PkFk_Sc drop constraint FK_s alter ...

  3. Postman 使用方法详解

    转自:https://blog.csdn.net/fxbin123/article/details/80428216 一.Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的 ...

  4. javascript window对象常用方法

    方法名称 prompt():显示可提示用户输入的对话框 alert():显示带有一个提示信息和 一个确定按钮的警示框 confirm():显示一个 带有提示信息.确定和取消按钮的对话框 open(): ...

  5. python 写入文件形式

    写入文件的不只是文本,还有二进制等,字节流是什么样式关系到能否写入文件. 以获取网页写入文件操作示例: response = requests.get("http://www.baidu.c ...

  6. 详解在Linux下实现(彩色)进度条程序,并通过makefile进行编译.

    彩色进度条的实现与makefile编译: 创建一个process文件,在里面编写实现进度条的代码    1.在编写代码的时候我们首先要区分两个转义字符:\n \r \n:表示换行,换到下一行,并位于起 ...

  7. 前端基础:web语义化

    web语义化 一.什么是web语义化? web语义化包含两方面,一是html标签语义化,简单来说就是要用合适的标签来表述适当的内容,标题用<h1>~~<h6>标签,段落用< ...

  8. php 合并图片 (将活动背景图片和动态二维码图片合成一张图片)

    <?php //案例一:将活动背景图片和动态二维码图片合成一张图片 //图片一 $path_1 = './background.png'; //图片二 $path_2 = './FU0851_2 ...

  9. Android嵌套滑动不流畅记录随笔

    ---恢复内容开始--- 今天第一次用到ScrollView嵌套RecyclerView来做页面. 刚开始效果开心得很,非常Very漂亮噢! 纳尼!!!沃特Fuck!出事儿,出事儿! 滑动为何如此不流 ...

  10. iOS业务模块化利用CocoaPod入门实践

    iOS业务模块化即是通过不同的工程管理不同的业务,通常应用在中大型项目中,这样做的好处主要有:1.多人开发时,防止工程文件冲突  2.能够为下个不同的项目抽取代码,话不多说,直接看步骤:括号内容为本例 ...