一千萬個為什麽

搜索

在pl/sql中查找最大值,其中有2個值是max

我正在使用oracle sql開發人員,我想知道如何查詢列的最大值,其中列有兩個最大值?

例如:

Shapes
square
square
square
triangle
circle
circle
circle

當我選擇max(形狀)時,它只給出方形而不是圓形,即使兩者都是最大值。

最佳答案

可能不是最好的方法,但你可以嘗試:

SELECT * 
FROM   (SELECT a.*, 
               Rank() OVER(PARTITION BY shapes ORDER BY sm DESC) rnk 
        FROM   (SELECT shapes, 
                       SUM(1) OVER(PARTITION BY shapes ORDER BY shapes) sm 
                FROM   shapes_table) a) 
WHERE  rnk = 1 

轉載註明原文: 在pl/sql中查找最大值,其中有2個值是max