【发布时间】:2021-02-24 20:53:13
【问题描述】:
我正在尝试转换此表格以更易于理解的方式显示它:
我的目标是可以使用一些 SQL 命令将该表转换为该表:
我尝试了很多事情,但我无法找到正确的指导:
select
Product, [dell], [hp], [2019], [2020]
from
(select *
from myTable a) src
pivot
(sum(Sales)
for Brand, years in ([dell], [hp], [2019], [2020])
) piv1
这不是一个正确的说法。
我这里有表格的脚本:
CREATE TABLE myTable
(
Id int IDENTITY(1,1) PRIMARY KEY,
Product varchar(255),
Brand varchar(255),
years varchar(255),
Sales decimal(18,2),
);
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('mouse','dell','2019','900000');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('mouse','dell','2020','40000');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('mouse','hp','2019','80000');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('mouse','hp','2020','70000');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('monitor','dell','2019','500');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('monitor','dell','2020','400');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('monitor','hp','2019','700');
INSERT INTO myTable (Product, Brand, years, Sales)
VALUES ('monitor','hp','2020','600');
【问题讨论】:
-
为什么你所拥有的东西不起作用?
PIVOT或条件聚合(许多人更喜欢)是适合这项工作的工具。
标签: sql sql-server sum pivot aggregate-functions