请选择 进入手机版 | 继续访问电脑版

程序人生

 找回密码
 注册

QQ登录

只需一步,快速开始

程序人生 门户 数据库 mysql 查看内容

mysql列转行实例

2016-11-7 15:22| 发布者: sean| 查看: 140| 评论: 0

摘要: 关于mysql数据库列转行的方法,该文中已解释并写了demo,但还是有些程序员在开发软件的过程中,实际使用起来不是很顺手,我的学生今天就问了我mysql列转行如何实现,并要我写个实例给他,顺便就将这个过程分享给mysq ...
关于mysql数据库列转行的方法,该文中已解释并写了demo,但还是有些程序员在开发软件的过程中,实际使用起来不是很顺手,我的学生今天就问了我mysql列转行如何实现,并要我写个实例给他,顺便就将这个过程分享给mysql学习者。

1.创建数据表
CREATE TABLE `helei` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(10) COLLATE utf8_bin NOT NULL DEFAULT '',
  `time` year(4) NOT NULL,
  `result` tinyint(3) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

表中的内容:
1 helei 2014 0
2 yu 2015 1
3 chen 2016 2
4 helei 2015 1

2.写mysql查询语句
select  name ,
sum(CASE result when 0 then 1 else 0 end )as result1, 
sum(CASE result when 1 then 1 ELSE 0 end )as result2, 
sum(CASE result when 2 then 1 else 0 end )as result3  
from  helei
WHERE   name in ('helei','yu','ccnu','chen')
GROUP BY name
union all
SELECT
'ccnu' as name ,
0 as result1, 
0 as result2, 
0 as result3  
from dual

3.得到正确的结果
chen 0 0 1
helei 1 1 0
yu 0 1 0
ccnu 0 0 0

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

相关分类


关于程序人生网|小黑屋|手机版|Archiver|

程序人生 | QQ

粤公网安备 44040202000007号

( 粤ICP备13038131号-1 )

返回顶部