occupations表内有两个字段Name, Occupation。Occupation类型为(Doctor, Professor, Singer,Actor)四种取值。要求转成这样的一个表,有四个字段Doctor, Professor, Singer, Actor,每一列是对应的名字,要求升序排列,如果没有,就以NULL填充。

这个问题实际就是表分割问题,思路如下:

1、根据新表元组选出相关的列

2、分组聚合

3、优化输出

sql语句如下:

set @dNum = 0, @pNum = 0, @sNum = 0, @aNum = 0;
select min(Doctor),  min(Professor), min(Singer), min(Actor)
from
(select case when Occupation = 'Doctor' then @dNum := @dNum + 1when Occupation = 'Professor' then @pNum := @pNum + 1when Occupation = 'Singer' then @sNum := @sNum + 1when Occupation = 'Actor' then @aNum := @aNum + 1end as Serno,case when Occupation = 'Doctor' then Name end as Doctor,case when Occupation = 'Professor' then Name end as Professor,case when Occupation = 'Singer' then Name end as Singer,case when Occupation = 'Actor' then Name end as Actorfrom occupations order by Name
) temp group by Serno;

Occupations(表分割问题)相关推荐

  1. 使用VBA将Excel工作表分割成多个文件

    问题描述 有一个表格,具体数据如下图所示.这里需要按城市(即B列数据)对表格进行拆分,拆分出多个以城市名称命名的xlsx文件,每个xlsx文件都只包含当前城市的数据.  相关资料 之前没有接触过Exc ...

  2. oracle分区属于什么知识,详细讲解Oracle表分区的相关概念及其优点

    Oracle 8i以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护.备份.恢复.事务及查询 ...

  3. Oracle表分区详细说明

    Oracle表分区 自从oracle8i 开始可以把一个表分割为多个小的部分,这样可以对oracle的性能优化带来很大的好处~ 例如:改善表的查询性能,更加容易管理表数据,备份和恢复操作更方便 在or ...

  4. ts包、表、子表、section的关系

    我们经常接触到创建 DEMUX,注册 Filter 过滤数据, 通过回调过滤出 section 数据,然后我们对 section 数据做具体的解析或者其他操作. 我们这里说的 section 就是段的 ...

  5. Oracle表分区和索引分区汇总

    Oracle表分区和索引分区汇总 为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的 ...

  6. 创建emp表 oracle,Oracle中创建和管理表详解

    Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16   作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...

  7. Oracle编程入门经典 第7章 表

    表是在行和列中存储数据的基本结构.而且,就如同Oracle向数据库整体增加特性一样,随着时间失衡,它也增强了表的概念,以适应更加复杂的应用要求.在本章中,我们将要讨论: Oracle中最常用的表类型, ...

  8. PostgreSQL学习笔记3之表的继承和分区

    一.表的继承: 这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生,然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧.     1. 第一个继承表:      ...

  9. oracle分区键使用教程,Oracle表分区学习笔记

    第二电脑网导读:区,列表分区,索引分区)下面我们来慢慢介绍现在我们来建立一个索引也可以按照和表进行分区时使用的相同的值范围来分区create index IndexTable_indexon Inde ...

最新文章

  1. OPPO R9s在哪里开启Usb调试模式的完美步骤
  2. 【视频】vue单文件组件vue-cli
  3. NOIP 2014 联合权值
  4. 直播 | ACL 2021论文解读:表征与结构兼备,结构化语言模型R2D2
  5. 图像马赛克原理及实现
  6. 远程办公也可以很高效
  7. 每天进步一点点《ML - 异常点检测》
  8. 什么是5G NR技术?一文带你深入了解5G NR技术
  9. python中的dict函数什么意思_3分钟搞懂Python中dict函数的含义是什么
  10. linux恢复,Linux 5.13还原及修复明尼苏达大学的问题补丁
  11. 联想小新安装windows 7
  12. 讲讲自己试用期被劝退的经历!
  13. 用python画玫瑰花
  14. 力扣算法学习计划打卡:第五天
  15. 网络骗子的特征。大家一定要转载。
  16. 你从未听过的区块链骗局:一个隐藏在隐私币BTCP代码深处的阴谋
  17. Hrbust 1176 小陈老师、雪人
  18. 基于AT89C51单片机的电子时钟设计
  19. TokenGazer 深度研究 | RSKRIF:技术生态均有良好进展 采用状况继续观察
  20. 留言本实例分析(一)

热门文章

  1. Anytime项目开发记录0
  2. 伏威谈淘宝网的高并发处理与压力测试(转)
  3. C#各种小知识点总结
  4. 关于C#中的类访问修饰符
  5. 高性能udp服务器架构,优秀的国产高性能TCP/UDP/HTTP开源网络通信框架——HP
  6. mysql中先随机提取再排序d_mysql性能优化
  7. python序列类型-Python数值类型和序列类型
  8. python100行代码程序-100行python代码,轻松完成贪吃蛇小游戏
  9. python中的散点图代码-python – 带有图例的matplotlib散点图
  10. python编程if语法-Python中的if语句——参考Python编程从入门到实践