0

我有一个包含“价格”列的表格,需要获得最常见的值。最简单的方法是什么?

4

2 回答 2

2

一种选择是

SELECT price
  FROM (SELECT price, rank() over (order by cnt desc) rnk
          FROM (SELECT price, count(*) cnt
                  FROM your_table
                 GROUP BY price))
 WHERE rnk = 1

如果有两个(或更多)价格出现的频率相同,则此查询将返回两者。如果您想保证单排,您需要告诉我们您希望如何处理平局。

于 2013-03-28T09:28:02.677 回答
0

我的算法如下:

  1. 第一步:将不同的选择作为一个集合;
  2. 第二步:foreach item in distinct collection 将在原始collection中找到的items计数为diffcollection;
  3. 第三步:从diffcollection中选择max。
于 2013-03-28T09:25:43.720 回答