Найти максимальное значение в pl / sql, где есть 2 значения, которые являются максимальными - PullRequest
0 голосов
/ 06 января 2011

Я использую Oracle SQL Developer, и мне было интересно, как вы можете запросить максимальное значение столбца, где столбец имеет два значения, которые являются максимальными?

Например:

Фигуры
квадрат
квадрат
квадрат
треугольник
круг
круг
круг

когда я выбираю макс (формы)дает только квадрат, но не круг, хотя оба - максимум.

Ответы [ 2 ]

0 голосов
/ 06 января 2011
select Shapes from TableName
group by Shapes
having COUNT(*) = (
select top 1 COUNT(*) from TableName
group by Shapes order by Shapes desc)

Этот запрос выдаст все фигуры, повторяющиеся в этой таблице в течение максимального времени. (Это то, что я получил от вашего вопроса ..)

0 голосов
/ 06 января 2011

Может не самый лучший способ, но вы можете попробовать:

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 
...