gpt4 book ai didi

sql - 我似乎无法在 SQL Snowflake 中工作

转载 作者:行者123 更新时间:2023-12-04 01:15:10 25 4
gpt4 key购买 nike

所以我不知道如何让表在 Snowflake 中旋转。我正在尝试为此处的帮助页面建模 https://docs.snowflake.com/en/sql-reference/constructs/pivot.html .

在这个例子中,我只提取了 3 列,即步骤、被测量的参数和值。尝试调整它以便每个参数都在其自己的列中。

源输出

step_name    Parameter_Name Value
----------------------------------
A Item1 75
A Item2 32
B Item1 45
B Item2 62

枢轴输出

step_name    Item1    Item2
--------------------------
A 75 32
B 45 62

sql 文本:

select 
step_name,
PARAMETER_NAME,
Value

from "METRO_TABLE"
pivot (avg(Value) for PARAMETER_NAME in ('Item1', 'Item2'))
as p

WHERE
and PARAMETER_NAME in ('Item1','Item2')

limit 50

最佳答案

只需使用条件聚合。该语法适用于大多数数据库,并且不需要记住每个供应商特定实现的微小变化。它也更灵活(尽管这对这个简单的用例没有影响):

select
step_name,
max(case when parameter_name = 'Item1' then value end) Item1,
max(case when parameter_name = 'Item2' then value end) Item2
from metro_table
where parameter_name in ('Item1', 'Item2')
group by step_name

在没有 order by 子句的情况下,我从您的查询中删除了 limit 子句:如果您想要一个稳定行子集,然后使用两者 order bylimit

关于sql - 我似乎无法在 SQL Snowflake 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63588450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com