Веб-страница Oracle на STATS_MODE объясняет, что If more than one mode exists, Oracle Database chooses one and returns only that one value
.
Поскольку нет дополнительных параметров и т. Д., Вы не можете изменить его поведение.
Однако на той же странице также показано, что следующий пример запроса может генерировать несколько значений режима ...
SELECT x FROM (SELECT x, COUNT(x) AS cnt1 FROM t GROUP BY x)
WHERE cnt1 = (SELECT MAX(cnt2) FROM (SELECT COUNT(x) AS cnt2 FROM t GROUP BY x));
Изменяя такой код, вы можете еще раз просто выбратьодиночное значение, определенное указанным ORDER ...
SELECT x FROM (SELECT x, MAX(y) AS y, COUNT(x) AS cnt1 FROM t GROUP BY x)
WHERE cnt1 = (SELECT MAX(cnt2) FROM (SELECT COUNT(x) AS cnt2 FROM t GROUP BY x))
AND rownum = 1
ORDER BY y DESC;
К сожалению, немного грязно, хотя, возможно, вам удастся немного привести его в порядок в вашем конкретном случае.Но я не знаю альтернативных принципиально разных подходов.