【问题标题】:Presto - How can i compare two arrays to get the maximum matched values countPresto - 我如何比较两个数组以获得最大匹配值计数
【发布时间】:2019-11-06 23:50:11
【问题描述】:

我想将用户数组与定义的数组进行比较,并获得最大匹配值计数。

我查看了在 presto 中使用“转换”,但无法继续解决问题

Compare ( A[1,2,3,1,4,7,1,2,1,8] , B[1,2,3,4,5] )

这里,数组 A 将与数组 B 进行比较。 A 在 B 中的值是 1,2,3,4

所以,预期输出:4

【问题讨论】:

  • 这个问题似乎与 database 和 mysql 没有任何联系

标签: arrays presto


【解决方案1】:

可以用array_intersect求两个数组的共同元素,然后array_max求交集的最大值。例如:

WITH t AS (
    SELECT ARRAY [1,2,3,1,4,7,1,2,1,8] AS x, ARRAY [1,2,3,4,5] AS y
) 
SELECT array_max(array_intersect(x, y))
FROM t;

将导致4。

所有的数组函数都记录在这里:https://trino.io/docs/current/functions/array.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    相关资源
    最近更新 更多