首页 > 数据库技术 > 详细

mysql 将列值转变为列的方法(转)

时间:2014-11-06 19:18:45      阅读:217      评论:0      收藏:0      [点我收藏+]

转自http://www.jb51.net/article/36497.htm


-- 创建库
CREATE TABLE `rate` (
 `uname` VARCHAR (300),
 `object` VARCHAR (300),
 `score` VARCHAR (300)
);   
 -- 插入数据
INSERT INTO test.rate (uname, object, score)
 VALUES(‘aaa‘, ‘chinese‘, ‘67‘),
 (‘aaa‘, ‘math‘, ‘89‘),
 (‘aaa‘, ‘physical‘, ‘89‘),
 (‘bbb‘, ‘chinese‘, ‘67‘),
 (‘bbb‘, ‘math‘, ‘75‘),
 (‘bbb‘, ‘physical‘, ‘89‘);

bubuko.com,布布扣unameobjectscore
bubuko.com,布布扣 bubuko.com,布布扣 aaa chinese 67
bubuko.com,布布扣 bubuko.com,布布扣 aaa math 89
bubuko.com,布布扣 bubuko.com,布布扣 aaa physical 89
bubuko.com,布布扣 bubuko.com,布布扣 bbb chinese 67
bubuko.com,布布扣 bubuko.com,布布扣 bbb math 75
bubuko.com,布布扣 bubuko.com,布布扣 bbb physical 89


 
-- 查询
SELECT DISTINCT uname AS ‘姓名‘,
SUM(CASE object
WHEN ‘chinese‘ THEN score END)  AS ‘语文‘,
SUM(CASE object
WHEN ‘math‘ THEN score END)  AS ‘数学‘,
SUM(CASE object
WHEN ‘physical‘ THEN score END)  AS ‘物理‘ FROM rate GROUP BY uname;

bubuko.com,布布扣
姓名语文数学物理
aaa 67 89 89
bbb 67 75 89


 

mysql 将列值转变为列的方法(转)

原文:http://www.cnblogs.com/usergaojie/p/4079558.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!