首页 > 解决方案 > presto sql 中的 cardinality() 是什么?

问题描述

有谁知道 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)

标签: sqlpresto

解决方案


cardinality()-- 如文档中所述-- 返回数组的大小。

在这种情况下,image_tagscomment_tags是 中的数组列data.images。这是计算每个 url 的这些数组的大小。

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

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


推荐阅读