2013-03-28 57 views

回答

0

我的算法如下:

  1. 步驟一:使不同選擇作爲一個集合;
  2. 第二步:foreach項目在不同的集合中計算在原始集合中找到的項目作爲diffcollection;
  3. 第三步:從diffcollection中選擇max。
+1

這可以用單個SQL語句完成... – 2013-03-28 09:27:19

+0

但是,算法有區別嗎? – Andries 2013-03-28 09:33:28

+0

不,但效率較低。 – 2013-03-28 09:38:53

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 

如果有經常發生同樣兩個(或更多)的價格,既會通過這個查詢返回。如果你想保證一行,你需要告訴我們你想如何處理關係。

相關問題