Talend:获取列中最常见的值

时间:2017-06-14 20:02:26

标签: database talend

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

1 个答案:

答案 0 :(得分:3)

我建议您在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”)