前言
这是总结SQL知识点的第二篇文章,一次只总结一个知识点,尽量说明白。上次我们谈到行转列,用的是Pivot函数,这次我们来谈谈Unpivot函数。(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就好)
在这张图中,表示的是顾客用不同手机号给Phone1、Phone2、Phone3拨打电话的情况,但是机灵的你,想变个花样来看看,比如下面这样的。
大家想想看如何实现呢?想下,2分钟后再看哟
先创建数据
CREATE TABLE dbo.CustomerPhones ( CustomerID INT PRIMARY KEY, -- FK Phone1 VARCHAR(32), Phone2 VARCHAR(32), Phone3 VARCHAR(32) ); INSERT dbo.CustomerPhones (CustomerID, Phone1, Phone2, Phone3) VALUES (1,'705-491-1111', '705-491-1110', NULL), (2,'613-492-2222', NULL, NULL), (3,'416-493-3333', '416-493-3330', '416-493-3339'); select * from dbo.CustomerPhones
查看数据如下:
select * from dbo.CustomerPhones -----数据源 unpivot ( Phone FOR Phones IN (Phone1, Phone2, Phone3) ##Phone1、Phone2、Phone3这些列的结果转为行上的结果,成为一列, ##并且有了新的列名为Phone ) up
结果如下:
参考文献:
1.Use SQL Server's UNPIVOT operator to help normalize output
2.SQL之行转列Pivot用法
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“SQL知识点之列转行Unpivot函数”评论...
更新动态
2024年04月29日
2024年04月29日
- 群星《又见逍遥 仙剑记忆OST原声带》[320K/MP3][94.6MB]
- 群星.1989-新艺宝金曲金碟4CD【新艺宝】【WAV+CUE】
- 徐凤仪.2024-在角落唱着歌【有凤来仪】【FLAC分轨】
- 星星·月亮·太阳.1988-我有自己的路要走【飞碟】【WAV+CUE】
- 原画壁纸及美图第207期,无水印可自取
- 新手入坑指南,新手开局第一天发展浅析
- 【原神】为书所爱的人/吾之所问,汝为人乎?(8个魔导书/神秘书柜)
- 绝区零喧响测试委托玩法 zzz前期养成建议
- 星际52区今日全平台公测 南天门计划联动同步开启
- 以闪亮之名新版本星沙迷航绝美双形态机械姬技术力再升级
- dnf攻速套怎么看达到140没有
- dnf旅人是百分比还是固伤
- dnf无尽的祭坛怎么去
- 网易雷火宣布《魔兽世界》国服开启测试招募报名!
- 游侠晚报:《剑星》遭和谐引众怒!《沙漠大冒险》好评