SQL面试题之行列转换
来源:互联网 发布:2017新开放域名后缀 编辑:程序博客网 时间:2024/05/23 11:33
- 情况一,如何行转列
建表语句:
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for tb-- ----------------------------DROP TABLE IF EXISTS `tb`;CREATE TABLE `tb` ( `姓名` varchar(10) DEFAULT NULL, `课程` varchar(10) DEFAULT NULL, `分数` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of tb-- ----------------------------INSERT INTO `tb` VALUES ('李四', '物理', '22');INSERT INTO `tb` VALUES ('李四', '数学', '53');INSERT INTO `tb` VALUES ('张三', '物理', '35');INSERT INTO `tb` VALUES ('李四', '语文', '52');INSERT INTO `tb` VALUES ('张三', '语文', '52')
表结构如下:
实现如下效果:
查询语句如下:
SELECT 姓名, max( CASE WHEN 课程 = '语文' THEN 分数 ELSE 0 END ) 语文, max( CASE WHEN 课程 = '数学' THEN 分数 ELSE 0 END ) 数学, max( CASE WHEN 课程 = '物理' THEN 分数 ELSE 0 END ) 物理FROM tbGROUP BY 姓名;
- 情况一,如何列转行
建表语句:
DROP TABLE IF EXISTS `tb2`;CREATE TABLE `tb2` ( `姓名` varchar(10) DEFAULT NULL, `语文` int(11) DEFAULT NULL, `数学` int(11) DEFAULT NULL, `物理` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of tb2-- ----------------------------INSERT INTO `tb2` VALUES ('张三', '21', '212', '111');INSERT INTO `tb2` VALUES ('李四', '2', '212', '2');
表结构如下:
实现如下效果:
查询语句:
SELECT 姓名, '语文' AS 课程, 语文 AS 分数FROM tb2UNION ALL SELECT 姓名, '数学' AS 课程, 数学 AS 分数 FROM tb2 UNION ALL SELECT 姓名, '物理' AS 课程, 物理 AS 分数 FROM tb2
总结:以上在实际开发应用中使用不是很好,在这只是做个记录,个人觉得实际开发中在业务中实现行列转换。
阅读全文
0 0
- SQL面试题之行列转换
- SQL面试题之行列转换
- SQL面试题--行列转换
- SQL Server 行列转换--经典面试题
- SQL经典面试题—行列转换
- SQL面试题练习-实现pivot行列转换
- 一道SQL面试题(行列互换)
- 一道SQL面试题(行列互换)
- 一道SQL面试题(行列互换)
- 一道SQL面试题(行列互换)
- 一道SQL面试题(行列互换)
- sql之行列转换备份
- 一道面试题引发的数据库SQL语句实践(含行列转换)
- 面试题之SQL
- 在许多的面试题中会碰到行列转,今天又来一个行列转换,
- SQL进行行列转换
- SQL的行列转换
- sql 行列转换
- INSERT ... ON DUPLICATE KEY UPDATE
- PHP的内存限制 Allowed memory size of 134217728 bytes exhausted (tried to allocate 1099 bytes) in
- 设计模式---三种工厂模式
- Nginx之升级和构建后添加新的模块
- _.clone浅复制
- SQL面试题之行列转换
- 使用图片作为列表的指定图标
- sql重重之重
- Python实现八皇后
- 关于input文本框,设置为readonly后,onchage事件无响应处理方案
- 【二分优化】Preparing for Merge Sort CodeForces
- 1043. 输出PATest(20)--Python
- spring中IOC容器创建对象,对象依赖关系处理
- 使用JSONObject将json文件转化成对象