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

时间:2011-01-06 05:37:57

标签: sql max

我正在使用oracle sql开发人员,我想知道如何查询列的最大值,其中列有两个最大值?

例如:

形状



三角


圈子

当我选择max(形状)时,它只给出方形而不是圆形,即使两者都是最大值。

2 个答案:

答案 0 :(得分:0)

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

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 

答案 1 :(得分:0)

select Shapes from TableName
group by Shapes
having COUNT(*) = (
select top 1 COUNT(*) from TableName
group by Shapes order by Shapes desc)

此查询将为该表中的所有形状重复最多次数。 (这是我从你的问题中得到的......)