關(guān)于SQL中PIVOT函數(shù)的使用方法詳解
前言
這篇文章給大家分享的是“pivot函數(shù)是什么,具體用法是怎樣的”,希望這篇文章對你一定的參考價值和幫助
提示:以下是本篇文章正文內(nèi)容,下面案例僅供參考
一、關(guān)于PIVOT函數(shù)
1.什么是PIVOT函數(shù)
在SQL中PIVOT函數(shù)又被稱為行轉(zhuǎn)列函數(shù),該函數(shù)的作用就是將行轉(zhuǎn)為列,使數(shù)據(jù)看起來更加直觀明了
2.它能實現(xiàn)什么樣的效果
PIVOT 通過將表達式某一列中的唯一值轉(zhuǎn)換為輸出中的多個列來旋轉(zhuǎn)表值表達式,并在必要時對最終輸出中所需的任何其余列值執(zhí)行聚合
二、使用方法
SELECT <非透視的列>, [第一個透視的列], [第二個透視的列], ... [最后一個透視的列] FROM 表名 PIVOT ( <聚合函數(shù)>(<要聚合的列>) FOR [<包含要成為列標(biāo)題的值的列>] IN ( [第一個透視的列], [第二個透視的列], ... [最后一個透視的列]) ) AS <透視表的別名> <可選的 ORDER BY 子句>; pivot (聚合函數(shù)(要聚合的列) for <要旋轉(zhuǎn)為行的列> in (目標(biāo)列)) as 目標(biāo)表名
三、使用前后的效果
代碼:
if exists(select * from sys.databases where name='Student') drop database Student go create database Student go use Student create table students( ID int not null, Name varchar(50) not null, Subject varchar(50) not null, Grade int not null ) insert into students values(1,'張三','語文',76) insert into students values(1,'張三','數(shù)學(xué)',85) insert into students values(1,'張三','英語',74) insert into students values(2,'李四','語文',89) insert into students values(2,'李四','數(shù)學(xué)',78) insert into students values(2,'李四','英語',98) select*from students select Name as 姓名,[語文],[數(shù)學(xué)],[英語] from students PIVOT(sum(Grade)for [Subject] in([語文],[數(shù)學(xué)],[英語])) as p order by ID
使用前:
使用后:
總結(jié)
關(guān)于SQL中行轉(zhuǎn)列的方法還有很多,但是PIVOT函數(shù)能幫你節(jié)省很多的時間和代碼,對此我覺得是比較好用的
到此這篇關(guān)于SQL中PIVOT函數(shù)的使用方法的文章就介紹到這了,更多相關(guān)SQL中PIVOT函數(shù)使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
虛擬主機ACCESS轉(zhuǎn)換成MSSQL完全攻略(圖文教程)
大家都知道,ACCESS數(shù)據(jù)庫在數(shù)據(jù)量到達一定程度后,訪問速度會明顯變慢,甚至造成崩潰。目前,大多數(shù)虛擬主機服務(wù)商提供的ASP主機空間一般都同時支持MS ACCESS和MS SQL兩種類型的數(shù)據(jù)庫。2010-04-04在PostgreSQL中使用數(shù)組時值得注意的一些地方
這篇文章主要介紹了在PostgreSQL中使用數(shù)組時值得注意的一些地方,包括如何提高輸入性能,需要的朋友可以參考下2015-04-04Navicat Premium 15無限試用注冊表修改的方法詳解
這篇文章主要介紹了Navicat Premium 15無限試用注冊表修改的方法詳解,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11詳解 MapperScannerConfigurer之sqlSessionFactory注入方式
這篇文章主要介紹了詳解 MapperScannerConfigurer之sqlSessionFactory注入方式的相關(guān)資料,需要的朋友可以參考下2017-04-04MySQL與Oracle差異比較之五存儲過程&Function
這篇文章主要介紹了MySQL與Oracle差異比較之五存儲過程&Function,需要的朋友可以參考下2017-04-04