表结果:
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. Linux装系统问题

    最近要把以前的Linux red hat 5.3,32位的系统换成Linux red hat6.2 64位系统,中间出现问题,不知道为什么系统装完之后回滚,还是之前的5.3.,为此纠结好久,终于找到问 ...

  2. vue day7 table checkbox 全选

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. 【开发】iOS入门 - UIViewController学习笔记

    iOS里面的UIViewController类似于Android里的Activity. 目前了解到除了基本的UIViewController之外,还有两个比较特别的一个是UINavigationCon ...

  4. Incjector

    网上的注入工具很多,大多也有比较详细的解释,但是大部分windows下的注入软件都是对自己软件的一种推荐,而且很多也不是非常的安全,对于有些破解版本来说,很可能自身会被带有木马,所以,Linux下的注 ...

  5. JS实现购物商城商品放大

    img属于行内元素 <img src=''>gq</img> 效果 当放大图片时候,文字位置发生改变 文字出现在图片下方,因为图片有一个隐形的g线,这条线的位置和以前上学时候, ...

  6. Css之 间距初始化

    粗暴初始化: * {margin:0;padding:0;border:0px none;} 优化初始化: /*css reset code */ /**** 文字大小初始化,使1em=10px ** ...

  7. 使用LAP数据集进行年龄训练及估计

    一.背景 原本是打算按<DEX Deep EXpectation of apparent age from a single image>进行表面年龄的训练,可由于IMDB-WIKI的数据 ...

  8. Win10系统提示对于目标文件系统过大

    Win10系统提示对于目标文件系统过大 今天在复制MAC系统文件时,系统弹出窗口提示“对于目标文件系统,文件XXX过大”.出现这种情况的原因是FAT32的文件系统不支持复制大于4g的单个文件,而NTF ...

  9. python3+ 简单爬虫笔记

    import urllib.request import re def getHtml(url): html = urllib.request.urlopen(url).read() return h ...

  10. 踩坑rosbag --clock

    将rosbag的数据feed给lego-loam,输出地图.另外写了一个滤波节点,订阅地图,进行滤波操作,再发布出来. 由于输入给lego-loam的数据来自于rosbag,所以需要rosbag提供时 ...