行转列的3种方法

  1. max(case when)

  2. pivot()

  3. 用存储过程行转列

准备数据

--创建表
create table Table_A
(商家 string,奶茶 string,价格 bigint
);
--插入数据
insert into Table_A(商家,奶茶,价格) values
('1点点','波霸奶茶',14),
('1点点','四季奶青',14),
('喜茶','波霸奶茶',21),
('CoCo','四季奶青',16);
--查询数据
select * from Table_A ;

行转列-方法1:max(case when)

select 商家,max(case when 奶茶='波霸奶茶' then 价格 end) as 波霸奶茶,max(case when 奶茶='四季奶青' then 价格 end) as 四季奶青
from Table_A group by 商家;

行转列-方法2:pivot()

select * from Table_A pivot(max(价格) for 奶茶 in (波霸奶茶,四季奶青)) a;
--我这边使用的sql不支持使用pivot(),此语句的正确性有待验证;

行转列-方法3:用存储过程

alter proc pro_test
@userImages varchar(200),
@奶茶 varchar(20),
@奶茶1 varchar(200),
@TableName varchar(50)
asdeclare @sql varchar(max)='select * from (select '+@userImages+' from'+@TableName+') tab
pivot
(
sum('+@奶茶+') for 奶茶('+@奶茶1+')
) pvt'
exec (@sql)
go
exec pro_test '商家,奶茶,价格',
'Table_A',
'奶茶',
'波霸奶茶,四季奶青'
;
--我这边使用的sql不支持使用存储过程,此语句的正确性有待验证;

sql行转列的3种方法相关推荐

  1. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

  2. Oracle 实现行转列的几种方法

    Oracle 实现行转列的几种方法 表数据 1 使用 decode 与聚合函数实现 2 使用 case when 与聚合函数实现 3 使用 pivot 函数 表数据 with students as( ...

  3. excel多列多行堆叠成多列一行_「Excel技巧」Excel快速实现将一行转为多行多列的四种方法...

    今天来说说在Excel中,将表格里的一列转换为多行多列的几种方法. 例如,以下表格,是一个行业分类表,都放在同一列中.现我们准备把它转为多列. 表格里数据除掉标题行行,总共有60列数据,干脆我们就给它 ...

  4. sql语句实现行转列的3种方法

    前言 一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据库里查询出来的会是这样的,但这并不能达到想要的效果,所以要在查询的时候做一下处理. CREATE TABLE TestTable([ ...

  5. mysql 列转行union all_mysql的 行转列(7种方法) 和 列转行

    # 一.行转列 # 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( i ...

  6. 【精】mysql行转列的7种方法及列转行

    文章目录 一.行转列 1.使用case-when-then 进行行转列 2.使用IF() 进行行转列: 3.利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL ...

  7. 搞定mysql的 行转列(7种方法) 和 列转行

    目录 一.行转列 1.使用case-when-then  2.使用SUM(IF()) 生成列 3.使用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行 4.使用SUM(IF()) 生 ...

  8. SQL 行转列的两种做法

    if object_id('tb')is not null drop table tb Go create table tb(姓名 varchar(10),课程 varchar(10),分数 int) ...

  9. Spark SQL DataFrame新增一列的四种方法

    Spark SQL DataFrame新增一列的四种方法 方法一:利用createDataFrame方法,新增列的过程包含在构建rdd和schema中 方法二:利用withColumn方法,新增列的过 ...

最新文章

  1. 腾讯广告广点通API接入文档(Android)
  2. LeetCode-1.Two Sum
  3. Oracle EBS-SQL (INV-3):检查仓库库存价值明细.sql
  4. opencv 图像雾检测_OpenCV图像处理-基于OpenPose的关键点检测
  5. ASP.NET MVC Model绑定(四)
  6. 使用分页方式读取超大文件的性能试验
  7. SpringBoot生成二维码
  8. 怎么才能够坚持做一件事并且把它做好?
  9. Pr:用Audition协作处理音频
  10. 第二次作业—时事点评
  11. few-shot vid2vid部署安装及测试
  12. 枕头的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. gbd调试的基本使用方法
  14. TriCore 与 RT-Thread(TC264 移植)
  15. css图片压缩不变形
  16. 计算机安装操作步骤,重新安装计算机系统的步骤,最简单,最安全的操作!
  17. 零基础也能学会的——用Python制作超级玛丽小游戏
  18. [测开篇]设计测试用例的方法如何正确描述Bug
  19. JAVA二维码生成工具
  20. 基于Autoware制作高精地图(六)

热门文章

  1. 编译安装常用包+阿里镜像源-常用资源-系统-下载-科莱软件下载-docker仓库包-安全圈-杏雨梨云-图形界面安装...
  2. 百度统计 api java_java简单调用百度统计API实现后台展示统计数据
  3. 整理经济学人词频表(词频分割过程)
  4. 用红蓝3D眼镜在PC上观看3D影片效果并不好
  5. 响应式布局必懂知识_五分钟教会你响应式布局
  6. MySQL入门系列:数据的插入、删除和更新
  7. 乐享计算机会计学院,从ACCA到CPA,他在「财会路」上乐享前行
  8. 【Node】nvm 版本管理工具
  9. Windows上node.js的多版本管理工具
  10. 用python批量下载贴吧图片 附源代码