数据专业人员经常查看事务数据,并需要数据透视表进行进一步分析。例如,银行专家可能需要审查每笔交易以确定某些账户如何结算,或者销售分析师可能需要审查个别交易以确定某些产品的销售情况。
作为数据操作的基本技能,数据透视表通常是更广泛分析的第一步。因为它是如此基础,主要的工作表应用程序提供了创建数据透视表的函数,但它们依赖于完整的数据集。
在许多大数据应用程序中,分析工作表中的数百万行是不可行的。虽然尝试通过您最喜欢的编程语言及其库来处理这些数据可能会起作用,但从一开始就不要查询这么多数据会更有效率。相反,可以在 SQL 的查询级别上创建数据透视表。
为了演示如何创建数据透视表,将生成一个显示事务数据的简单数据集。
CREATE TABLE transactions(
id INTEGER PRIMARY KEY,
client_id INTEGER,
value INTEGER
);
在这种情况下,事务表包含三个字段:每个事务的唯一 ID、与事务关联的客户端的客户端 ID 以及事务的值。

为简洁起见,仅生成了五行随机数据,但实际生产数据库可以轻松托管数十万行甚至数百万行的事务记录。
查询应该能够返回每个客户端 ID 的事务总值,而不是提取整个数据集。
#枢轴功能
PIVOT 函数是迄今为止创建数据透视表最直接的方法。从字面上看,它是作为数据透视表的实用程序设计的,其语法易于理解。
SELECT column AS column_alias,