【问题标题】:MIN() MAX() BigQuery - Unexpected behaviourMIN() MAX() BigQuery - 意外行为
【发布时间】:2021-09-30 00:18:12
【问题描述】:

查询结果

SELECT 
Type
, val
, MIN(val) over (partition by Type) as min_val
, MAX(val) over (partition by Type) as max_val
FROM tabA

给出意外的输出

Type val min_val max_val    
1 A -52.50 -50.00 -64.00
2 A -50.00 -50.00 -64.00
3 A -64.00 -50.00 -64.00
4 A -58.50 -50.00 -64.00
5 B -66.00 -35.33 -75.33
6 B -73.00 -35.33 -75.33
7 B -35.33 -35.33 -75.33
8 B -56.33 -35.33 -75.33
9 B -44.33 -35.33 -75.33
10 B -75.33 -35.33 -75.33
11 B -57.00 -35.33 -75.33
12 B -69.00 -35.33 -75.33

其中 min&max 是相反的。对此有什么可能的解释吗?

【问题讨论】:

  • Bigquery 适用于 MAX 和 MIN,我认为这只是您感到困惑,因为所有内容都是负数,因此最大值看起来“较低”,但请记住,在负数中,数字越小,数字越大.
  • 已排序,问题是 'val' 列存储为字符串而不是 FLOAT64,因为它应该是......

标签: google-bigquery aggregate-functions


【解决方案1】:

该值未以数字类型存储。大查询也可以排序字符串,这就是这里所做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2016-05-21
    • 2012-10-28
    • 2017-01-24
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多