逗号隔开行转列_【SQL】行转列

本文探讨了将数据从行转换为列的SQL方法,包括使用`CASE WHEN`和聚合函数,`IF`函数,以及SQL Server的数据透视表函数`PIVOT`。通过实例展示了如何在SQL Server, MySQL和Hive中实现这一转换,并讨论了在不同场景下应对列数量变化和业务需求的策略。" 108904309,10144473,理解Kerberos4协议的认证流程,"['网络安全', '身份验证', '服务器安全']
摘要由CSDN通过智能技术生成

莫听穿林打叶声|何妨吟啸且徐行

76e7251021f597b03996d21e4ab00ae8.png

数据在数据(仓)库中往往是以行的形式存储居多,一行就是一条记录,比如我们最常用的订单表,一条订单记录代表客户的某一次购买,这条记录会详细记录金额,成交时间等。

但是有的时候为了方便分析,需要把行形式的数据展开成列形式的。

本文主要就是介绍几种行转列的方法,以及我自己由浅入深的思考。

正文

Pre 数据准备

;WITH Student AS(SELECT '刘得华' AS Name ,'语文' AS Course,54 AS GradeUNION ALLSELECT '刘得华' AS Name ,'数学' AS Course,95 AS GradeUNION ALLSELECT '刘得华' AS Name ,'英语' AS Course,60 AS GradeUNION ALLSELECT '吴延祖' AS Name ,'语文' AS Course,98 AS GradeUNION ALLSELECT '吴延祖' AS Name ,'数学' AS Course,47 AS GradeUNION ALLSELECT '吴延祖' AS Name ,'英语' AS Course,75 AS Grade)SELECT * F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值