我有一个包含“价格”列的表格,需要获得最常见的值。最简单的方法是什么?
问问题
3086 次
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
我的算法如下:
- 第一步:将不同的选择作为一个集合;
- 第二步:foreach item in distinct collection 将在原始collection中找到的items计数为diffcollection;
- 第三步:从diffcollection中选择max。
于 2013-03-28T09:25:43.720 回答