SQL代码 列转行 或者 SQL代码 行转列 ...
前言: 由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值 具体结构见下表 。 这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果。 表数据: ID Value tiny,small,big small,medium tiny,big 期望得到结果: ID Value tiny small big small medium ti ...
2017-04-28 15:02 0 9486 推荐指数:
SQL代码 列转行 或者 SQL代码 行转列 ...
数据表: 列转行:利用max(case when then) max ---聚合函数 取最大值 ( case course when '语文' then score else ...
数据表: 列转行:利用max(case when then) max ---聚合函数 取最大值 ( case course when '语文' then score else ...
数据表: 列转行:利用max(case when then) max ---聚合函数 取最大值 ( case course when '语文' then score else ...
--分组加排序,数据量大时结果会比较慢 SELECT listagg(t.ename,',') WITHIN GROUP(ORDER BY t.sal) FROM scott.emp t;SELECT ...
由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式,即同一个列中存储了多个属性值。这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果:这里使用substring_index函数进行处理 建表语句: 如下图: sql语句 ...