我有一个有几百行的表。我想知道其中一列中数据的最常见值。我该怎么做?
答案 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”)