尝试用presto中的unnest()分解数组,但由于额外的列而失败

0qx6xfy6  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(863)

我从一个查询中得到如下数据:

SELECT
    model_features
FROM some_db

返回:

{
  "food1": 0.65892159938812,
  "food2": 0.90786880254745,
  "food3": 0.88357985019684,
  "food4": 0.99999821186066,
  "food5": 0.99237471818924,
  "food6": 0.62127977609634
}
{
  "food4": 0.9999965429306,
  "text1": 0.82206630706787
}
...

等。
我最终要做的是简单地计算每个“food1”、“food2”特性的数量,但要做到这一点(我认为)我需要删掉不必要的数字数据。我不知道该怎么做,因为每次我都试图让自己感到不安

SELECT
    t.concepts
FROM some_db
CROSS JOIN UNNEST(model_features) AS t(concepts)

我得到这个错误: Column alias list has 1 entries but 't' has 2 columns available 有人介意给我指出正确的方向吗?

qlvxas9a

qlvxas9a1#

我自己解决了这个问题:为了执行查询,我需要避免删除第二列信息。这也许不是最佳的方法,但它确实奏效了:

SELECT
    t.concepts,
    t.probabilities
FROM some_db
CROSS JOIN UNNEST(model_features) AS t(concepts,probabilities)

相关问题