如何确定postgreSQL中最常见的元素?

时间:2014-03-10 18:32:11

标签: postgresql

如果我们有一个类似于此的列:

2012
2013
2012
2012
2011

如何确定哪一年比其他年份更常用? (在这个例子中,它将是2012年,因为今年有3个条目)。

3 个答案:

答案 0 :(得分:1)

一种方法是计算所有元素的出现次数
按此编号按降序排列,并取第一个:

SELECT element
FROM table1
GROUP BY element
ORDER BY count(*) DESC
LIMIT 1
;

演示:http://sqlfiddle.com/#!15/47e59/2

答案 1 :(得分:0)

类似的东西:

select my_col_date, rank() over (order by used_count desc) 
from
(
SELECT my_col_date, count(my_col_date) used_count
  FROM my_table
  group by 1
) A
limit 1

OR

SELECT my_col_date, count(my_col_date) used_count
  FROM my_table
  group by 1
  order by count(my_col_date) limit 1 

答案 2 :(得分:0)

使用R:

# get your data into R first
table(as.numeric(dataFromDb$column))