presto sql 中的 cardinality() 是什么?

What is cardinality() in presto sql?

有人知道 sql 中 cardinality() 函数的用途吗?它如何与 unnest 函数一起使用?

SELECT story_id, 
    cardinality(image_tags) AS image_tags, 
    cardinality(comment_tags) as comment_tags
    from 
    story_tab
    CROSS JOIN UNNEST(data.images) t (url, item_tags, comment_tags)

cardinality() -- 如 documentation 中所述 -- returns 数组的大小。

在这种情况下,image_tagscomment_tagsdata.images 中的数组列。这是为每个 url.

计算这些数组的大小

我应该注意到 data.images 本身就是一个数组,所以每个图像都有这些标签。

因此,这将返回 data 中每张图片的图片标签数量和评论标签数量。我建议也包括有关图像的信息 - 或者按故事汇总。