欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于SQL中PIVOT函數(shù)的使用方法詳解

 更新時(shí)間:2023年12月29日 10:04:42   作者:HideInTheNight  
SQL Server中的PIVOT函數(shù)是一種用于將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù)的表格旋轉(zhuǎn)函數(shù),這篇文章主要給大家介紹了關(guān)于SQL中PIVOT函數(shù)的使用方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

這篇文章給大家分享的是“pivot函數(shù)是什么,具體用法是怎樣的”,希望這篇文章對(duì)你一定的參考價(jià)值和幫助

提示:以下是本篇文章正文內(nèi)容,下面案例僅供參考

一、關(guān)于PIVOT函數(shù)

1.什么是PIVOT函數(shù)

在SQL中PIVOT函數(shù)又被稱為行轉(zhuǎn)列函數(shù),該函數(shù)的作用就是將行轉(zhuǎn)為列,使數(shù)據(jù)看起來(lái)更加直觀明了

2.它能實(shí)現(xiàn)什么樣的效果

PIVOT 通過(guò)將表達(dá)式某一列中的唯一值轉(zhuǎn)換為輸出中的多個(gè)列來(lái)旋轉(zhuǎn)表值表達(dá)式,并在必要時(shí)對(duì)最終輸出中所需的任何其余列值執(zhí)行聚合

二、使用方法

SELECT <非透視的列>,
    [第一個(gè)透視的列],
    [第二個(gè)透視的列],
    ...
    [最后一個(gè)透視的列]

FROM
   表名

PIVOT
(
    <聚合函數(shù)>(<要聚合的列>)
FOR

[<包含要成為列標(biāo)題的值的列>]
    IN ( [第一個(gè)透視的列], [第二個(gè)透視的列],
    ... [最后一個(gè)透視的列])
) 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,'張三','語(yǔ)文',76)
insert into students values(1,'張三','數(shù)學(xué)',85)
insert into students values(1,'張三','英語(yǔ)',74)
insert into students values(2,'李四','語(yǔ)文',89)
insert into students values(2,'李四','數(shù)學(xué)',78)
insert into students values(2,'李四','英語(yǔ)',98)

select*from students
select Name as 姓名,[語(yǔ)文],[數(shù)學(xué)],[英語(yǔ)] from students PIVOT(sum(Grade)for [Subject] in([語(yǔ)文],[數(shù)學(xué)],[英語(yǔ)])) as p order by ID 

使用前: 

使用后: 

總結(jié)

關(guān)于SQL中行轉(zhuǎn)列的方法還有很多,但是PIVOT函數(shù)能幫你節(jié)省很多的時(shí)間和代碼,對(duì)此我覺(jué)得是比較好用的

到此這篇關(guān)于SQL中PIVOT函數(shù)的使用方法的文章就介紹到這了,更多相關(guān)SQL中PIVOT函數(shù)使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論