惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
博客园 - 【当耐特】
量子位
有赞技术团队
有赞技术团队
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
C
Check Point Blog
B
Blog RSS Feed
M
MIT News - Artificial intelligence
H
Help Net Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
腾讯CDC

szhshp 的第三边境研究所

假设, AI 把我代替的那一刻真的到来 | szhshp 的第三边境研究所 小傻瓜都能懂的 AstrBot QQ 机器人集成 MCP 功能实战指南 | szhshp 的第三边境研究所 《智人之上: 从石器时代到 AI 时代的信息网络简史》阅读笔记 | szhshp 的第三边境研究所 iPadOS 26 无法设置空间场景图片壁纸的解决方法 | szhshp 的第三边境研究所 《一路云海》(终) | szhshp 的第三边境研究所 《一路云海》(四): 如何不按套路旅行 | szhshp 的第三边境研究所 《一路云海》(三): In Ya Mellow Tone | szhshp 的第三边境研究所 《一路云海》(二): 关西世博参观纪实 | szhshp 的第三边境研究所 《一路云海》(一): 新的征程 | szhshp 的第三边境研究所 2025 大阪世博会 [ 3 天前-先到先得 ] 阶段 场馆预约必中独家攻略 | szhshp 的第三边境研究所 Hackathon 随想 | szhshp 的第三边境研究所 一杯双皮奶 | szhshp 的第三边境研究所 Armbian + CasaOS + NAS 配置指南 | szhshp 的第三边境研究所 Docker 构建镜像报错: error getting credentials - err: exit status 1, out: `` | szhshp 的第三边境研究所 Disqus RIP! 论过高的维护成本如何治疗固执的坏习惯 | szhshp 的第三边境研究所 炸弹猫桌游变体规则 | szhshp 的第三边境研究所 《小岛经济学》阅读笔记 | szhshp 的第三边境研究所 《金钱心理学》阅读笔记 | szhshp 的第三边境研究所 为知笔记 RIP: 迁移剩余的笔记 | szhshp 的第三边境研究所 2025 博客第十年展望 - 再见我的过去 | szhshp 的第三边境研究所 我在独立游戏里面致敬的作品 | szhshp 的第三边境研究所 《How to make thing faster》阅读笔记 | szhshp 的第三边境研究所 《The Art of Clean Code》阅读笔记 | szhshp 的第三边境研究所 《Clean Architecture: A Craftsman Guide to Software Structure and Design》阅读笔记 | szhshp 的第三边境研究所 《How AI Works》阅读笔记 | szhshp 的第三边境研究所 游戏策划废案 - Project Uranus | szhshp 的第三边境研究所 游戏策划废案 - Project X | szhshp 的第三边境研究所 人生第一款独立游戏开发复盘 | szhshp 的第三边境研究所 Trap of Life | szhshp 的第三边境研究所 如果我用手搓了个暗物质雏形 | szhshp 的第三边境研究所
Hey! Pivot Table! | szhshp 的第三边境研究所
2015-12-11 · via szhshp 的第三边境研究所

Meta

目录

Pivot Table In SQL Query

Example

here is an eg1

	SELECT * FROM (SELECT year(invoiceDate) as [year], left(datename(month,invoicedate),3)as [month], _
	InvoiceAmount as Amount FROM Invoice) as InvoiceResult 

使用pivot 可以将竖着放的表处理成横着的一行一行

	SELECT *
	FROM (
	    SELECT 
	        year(invoiceDate) as [year],left(datename(month,invoicedate),3)as [month], 
	        InvoiceAmount as Amount 
	    FROM Invoice
	) as s
	PIVOT
	(
	    SUM(Amount) --可能对于原来的每个月会有多个数据,因此可以使用聚合函数
	    FOR [month] IN (jan, feb, mar, apr, 
	    may, jun, jul, aug, sep, oct, nov, dec)--只需要写字段的名称即可,不需要加单引号
	)AS pvt

Other Example

  • Before

一个groupid对应多个item,每个item对应一个value(哪个混蛋设计的数据库结构(゜皿゜メ) )

可能需要提取不同item对应的value因此将其做成透视表来处理

  • After

因为每个itemcode只可能有一个数据,因此使用max这样的聚合函数也没有问题

最终提取成一行之后就可以对不同的itemcode进行比较了

    --pivot table
    SELECT top(20) *
    FROM (
        SELECT datagroupid, itemcode, textanswer
        FROM profile_data
    ) as s
    PIVOT
    (
        max(textanswer)
        FOR itemcode IN (Incident_DateReported,Incident_AssignedTo,Incident_DueDate,Incident_CloseDate,Incident_Status)
    )AS pvt

参考文献

  1. http://www.codeproject.com/Tips/500811/Simple-Way-To-Use-Pivot-In-SQL-Query