我正在尝试创建下表:
我正在尝试使用 WHERE 子句创建表,但不确定如何让两个品牌在同一个表中显示为字段。
我正在使用的数据结构如下:
我非常感谢您对此提供的任何帮助。
您可以将 max() 与 case 子句一起使用来计算您需要的内容。按 SalesDate 对数据进行分组,您就拥有了所需的一切。
select row_number() over(order by SalesDate) as ID , max(Name) , SalesDate , max(case when Brand = 'Nike' then Sales else 0 end) MaxNikeSales , max(case when Brand = 'Adidas' then Sales else 0 end) MaxAdidasSales , max(case when Brand = 'Nike' then Sales else 0 end) - max(case when Brand = 'Adidas' then Sales else 0 end) as "SalesDifference (Nike - Adidas)" from mytable group by SalesDate
这是一个演示