Talend:获取列中最常见的值

Talend: Get most common value in a column

我有一个有几百行的 table。我想知道其中一列中数据的最常见值。我该怎么做?

我建议您在 sql 查询中使用类似这样的内容:

select top 1 column, count(*) cnt  
from table  
group by column  
order by count(*) desc

此语法必须适应您的 rdbms。例如,在 Oracle 中它会是这样的:

select column from (  
  select column, count(*)  
  from table  
  group by column  
  order by count(*) desc  
) where rownum = 1

如果您想在 Talend 中执行此操作,您可以使用:

Input -- tAggregateRow -- tSortRow -- tSampleRow -- Output

在 tAggregateRow 中,您使用计数函数计算列中值的频率,然后在 tSortRow 中按降序对它们进行排序,然后您使用 tSampleRow 获得第一行(只需输入“1”)