在AWS Redshift中,可以使用CASE语句和聚合函数来执行PIVOT查询。下面是一个示例代码:
假设我们有一个名为sales的表,包含以下字段:date(日期)、product(产品)、quantity(数量)。
要生成一个按日期为行,以产品为列的PIVOT查询结果,可以使用以下代码:
SELECT date,
SUM(CASE WHEN product = 'Product A' THEN quantity ELSE 0 END) AS product_a,
SUM(CASE WHEN product = 'Product B' THEN quantity ELSE 0 END) AS product_b,
SUM(CASE WHEN product = 'Product C' THEN quantity ELSE 0 END) AS product_c
FROM sales
GROUP BY date;
在上面的代码中,我们使用CASE语句将每个产品的数量归类到对应的列中。SUM函数用于计算每个产品的总数量。最后,使用GROUP BY子句按日期分组。
这将生成一个结果集,其中每一行代表一个日期,每个产品都在相应的列中显示其数量。
希望这个示例可以帮助你解决AWS Redshift中的PIVOT查询问题。