我正在使用oracle sql开发人员,我想知道如何查询列的最大值,其中列有两个最大值?
例如:
形状
方
方
方
三角
圈
圈
圈子
当我选择max(形状)时,它只给出方形而不是圆形,即使两者都是最大值。
答案 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)
此查询将为该表中的所有形状重复最多次数。 (这是我从你的问题中得到的......)