0
我有一個'價格'列的表,並需要獲得最頻繁的值。什麼是最好的方式?如何獲得列中最頻繁的值?
我有一個'價格'列的表,並需要獲得最頻繁的值。什麼是最好的方式?如何獲得列中最頻繁的值?
我的算法如下:
一個選擇會是這樣的
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
如果有經常發生同樣兩個(或更多)的價格,既會通過這個查詢返回。如果你想保證一行,你需要告訴我們你想如何處理關係。
這可以用單個SQL語句完成... – 2013-03-28 09:27:19
但是,算法有區別嗎? – Andries 2013-03-28 09:33:28
不,但效率較低。 – 2013-03-28 09:38:53