presto - Presto:是 MAX_BY() 确定性的
问题描述
函数是MAX_BY()
确定性的。如果我使用MAX_()
两个不同的列都取决于第三个,我会得到相同的行结果吗?
presto 文档没有提到这一点 。这个关于 mysql 的文档提到它不是,所以我不确定在哪里可以找到这个信息。
我用以下方法快速测试:
WITH my_table(id, arr, something) AS (
VALUES
(1, ARRAY['one'], 0.0),
(2, ARRAY['two'], 0.0),
(3, ARRAY['three'], 0.0),
(4, ARRAY['four'], 0.0),
(5, ARRAY['five'], 0.0),
(6, ARRAY[''], 0.0)
)
SELECT
MAX_BY(id,something),
MAX_BY(arr,something)
FROM my_table
它返回了第一行,所以它不会让人觉得随意,但也不能证明事情。
有谁可以帮忙吗?
有一个相关的问题是从单个返回多个列,MAX_BY()
所以我认为我需要使用该解决方案来保证选择同一行的属性:
max_by with multiple return columns
解决方案
推荐阅读
- regex - Regex Multi Line Named Group
- parsing - 这是将 EBNF 转换为 BNF 的有效方法吗?
- python - 使用 .loc 使用加号等于运算
- xampp - 无法在 xampp 上安装 Magento 2.4
- angular - angular2:为相同的路由和组件调用canDeactivate,但参数不同
- php - str_pad() 期望参数 1 是 PHP 中的字符串
- swift - 我怎样才能成功使用委托?按钮不适用于代表
- python - ImportError:无法导入名称'deprecated_endpoints'?
- html - 如何使用 SVG 路径从地图中获取坐标?
- java - 为什么我从 flink 得到重复的数据?