美文网首页
Mysql行转列

Mysql行转列

作者: jyhnp | 来源:发表于2021-05-10 11:13 被阅读0次

遇到的一个Sql面试题:


image.png

建表:

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `name` varchar(64) DEFAULT NULL,
  `course` varchar(32) DEFAULT NULL,
  `score` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of student
-- ----------------------------
BEGIN;
INSERT INTO `student` VALUES ('张青', '语文', 72);
INSERT INTO `student` VALUES ('王凤', '数学', 72);
INSERT INTO `student` VALUES ('张华', '英语', 81);
INSERT INTO `student` VALUES ('张青', '物理', 67);
INSERT INTO `student` VALUES ('李立', '化学', 98);
INSERT INTO `student` VALUES ('张燕', '物理', 75);
INSERT INTO `student` VALUES ('张青', '化学', 76);
INSERT INTO `student` VALUES ('张华', '数学', 80);
INSERT INTO `student` VALUES ('张燕', '语文', 90);
COMMIT;

Sql:

SELECT NAME
    ,
    max( CASE course WHEN '语文' THEN score ELSE 0 END ) '语文',
    max( CASE course WHEN '数学' THEN score ELSE 0 END ) '数学',
    max( CASE course WHEN '英语' THEN score ELSE 0 END ) '英语',
    max( CASE course WHEN '化学' THEN score ELSE 0 END ) '化学',
    max( CASE course WHEN '物理' THEN score ELSE 0 END ) '物理',
    avg(score) avg
FROM
    student 
WHERE
    NAME IN ( SELECT NAME FROM student GROUP BY NAME HAVING avg( score ) > 75 ) 
GROUP BY
NAME

结果:


image.png

相关文章

  • Mysql行转列

    遇到的一个Sql面试题: 建表: Sql: 结果:

  • mysql 行转列

    参考文章https://www.cnblogs.com/xiaoxi/p/7151433.html

  • mysql行转列

    使用GROUP BY 和 GROUP_CONCAT即可

  • mysql 行转列

    GROUP_CONCAT(m.step,if(um.is_complete=1,'已完成','未完成') ORDE...

  • MySQL 行转列,列传行

    静态行转列 使用case...when....then 进行行转列 使用IF() 进行行转列 (1)SUM() 是...

  • SQL Server行转列

    SQL行转列 经典实例 创建表格 SQL行转列 经典实例 创建表格 行转列 结果 参考链接

  • mysql 行转列操作

    1 摘要 mysql 行列转换 ,在项目中应用的极其频繁,尤其是一些金融项目里的报表。其中最为头痛的就是多行转多列...

  • mysql行转列转换

    sql 脚本 静态行专列 运行结果

  • MySQL 行转列小结

    备注:测试数据库版本为MySQL 8.0 需求:求emp表各个岗位的工资之和,如无,用0代替 如需要scott用户...

  • Oracle 行转列

    行转列,以, 分隔 将行转列语句提取成一个Function

网友评论

      本文标题:Mysql行转列

      本文链接:https://www.haomeiwen.com/subject/pddbbktx.html