转自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');

mysql 将列值转变为列的方法(转) uname object score
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) aaa chinese 67
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) aaa math 89
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) aaa physical 89
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) bbb chinese 67
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) bbb math 75
mysql 将列值转变为列的方法(转) mysql 将列值转变为列的方法(转) 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;

mysql 将列值转变为列的方法(转)
姓名 语文 数学 物理
aaa 67 89 89
bbb 67 75 89


 

相关文章:

  • 2021-11-12
  • 2021-10-24
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2021-08-28
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2022-01-21
  • 2021-10-18
  • 2021-12-22
  • 2021-04-09
  • 2021-04-23
  • 2022-02-21
  • 2022-12-23
相关资源
相似解决方案