在Redshift中从组中选择一个随机属性

迪玛

我有表格中的数据集。

id  |   attribute
-----------------
1   |   a
2   |   b
2   |   a
2   |   a
3   |   c

所需的输出:

attribute|  num
-------------------
a        |  1
b,a      |  1
c        |  1

在MySQL中,我将使用:

select attribute, count(*) num 
from 
   (select id, group_concat(distinct attribute) attribute from dataset group by id) as     subquery 
group by attribute;

我不确定可以在Redshift中完成此操作,因为它不支持group_concat或任何psql组聚合函数,例如array_agg()或string_agg()。看到这个问题

一种可行的替代解决方案是,是否有办法让我从每个组中选择一个随机属性,而不是group_concat。这在Redshift中如何运作?

迪玛

受Masashi启发,此解决方案更简单,并且可以从Redshift中的组中选择一个随机元素。

SELECT id, first_value as attribute 
FROM(SELECT id, FIRST_VALUE(attribute) 
    OVER(PARTITION BY id ORDER BY random() 
    ROWS BETWEEN unbounded preceding AND unbounded following) 
    FROM dataset) 
GROUP BY id, attribute ORDER BY id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从集合中选择一个随机数

来自分类Dev

delphi从枚举中选择一个随机值

来自分类Dev

从单词数组中选择一个随机单词

来自分类Dev

在特定的选择组中选择一个值

来自分类Dev

从表中选择一个随机行

来自分类Dev

根据第三个列表中的一个随机项,从两个列表之一中选择一个随机项

来自分类Dev

从列表中的某个范围中选择一个随机元素-Python

来自分类Dev

在领域表中选择一个随机行

来自分类Dev

从哈希表中选择一个随机元素

来自分类Dev

从JavaScript中的字符串中选择一个随机字母

来自分类Dev

从非空defaultdict中选择一个随机元素

来自分类Dev

在javascript / jquery中选择一个随机对象

来自分类Dev

如何从子表中选择一个随机ID?

来自分类Dev

在数组中选择一个随机短语

来自分类Dev

从Haskell的列表中选择一个随机元素

来自分类Dev

从数组中选择一个随机对象

来自分类Dev

从python中的2d数组列表中选择一个随机元素

来自分类Dev

在python中从树中选择一个随机实例

来自分类Dev

如何从对象中选择一个随机属性,而无需在多次调用后重复?

来自分类Dev

在领域表中选择一个随机行

来自分类Dev

在一个查询中从多个表中选择随机行

来自分类Dev

从字典中选择一个随机元组

来自分类Dev

如何从txt文件中选择一个随机单词?

来自分类Dev

在Java中的布尔数组中选择一个随机元素

来自分类Dev

从oracle中多行的一列中选择一个随机数据

来自分类Dev

从pyspark中的一个非常大的数据框中选择随机列

来自分类Dev

jquery 从对象中选择一个随机属性

来自分类Dev

在 switch case 中选择一个随机 case

来自分类Dev

从数组中选择一个随机变量

Related 相关文章

热门标签

归档