查询在MySQL中正常工作,并且在“ Select”子句中既不是汇总的子句,也不是snowflake ofSnowflake

问题描述 投票:0回答:2

Mysql查询:

SELECT soc_pp_code, COUNT(soc_pp_code) AS count, rate
FROM subscriptions_history_sample_anonymized
GROUP BY soc_pp_code 
ORDER BY COUNT(soc_pp_code) DESC 
LIMIT 1;

Result

SNOWFLAKE查询:

SELECT soc_pp_code, COUNT(soc_pp_code) AS count, rate
FROM subscriptions_history_sample_anonymized
GROUP BY 1
ORDER BY 2  
LIMIT 1;

ERROR:SQL汇编错误:错误行1处的位置49'subscriptor_history_sample_sample_anonymized.rate'select子句中既不是汇总,也不是该组中的组。

mysql snowflake-schema
2个回答
3
投票
就像错误消息3所说,每列必须在组中或使用

凝集函数像最小的速率或您需要的东西

SELECT soc_pp_code, COUNT(soc_pp_code) AS count, MIN(rate) FROM subscriptions_history_sample_anonymized GROUP BY 1 ORDER BY 2 LIMIT 1;
    

0
投票
从snowflake的文档

。这对我有帮助 在情况下,您确定省略列的值相同

,您可以使用any_value函数复制相同的mysqlcravy.

代码和输出看起来像这样:

select col1, any_value(col2), sum(col3) from t1 group by col1;


Col11123
any_value(col2) 午餐(Col3)
aaa 13
Bbb 25
CCC 20
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.