Я использую функцию histogram()
https://prestodb.github.io/docs/current/functions/aggregate.html
Это «Возвращает карту, содержащую количество раз, которое встречается при каждом входном значении.»
Результат может выглядетьчто-то вроде этого:
{ORANGES=1, APPLES=165, BANANAS=1}
Есть ли функция, которая будет возвращать APPLES
с учетом вышеуказанного ввода?
XY Проблема?
проницательный читатель может заметить, что конечный результат histogram()
в сочетании с тем, что я пытаюсь сделать, будет эквивалентен мифической функции Mode , которая существует в учебниках, но отсутствует в реальных движках баз данных.
Вот мой полный запрос на данный момент.Я ищу наиболее часто встречающееся значение upper(cmplx)
для каждого upper(address),zip
набора:
select * from (select upper(address) as address, zip,
(SELECT max_by(key, value)
FROM unnest(histogram(upper(cmplx))) as t(key, value)),
count(*) as N
from apartments
group by upper(address), zip) t1
where N > 3
order by N desc;
И ошибку ...
SYNTAX_ERROR: строка 2:55: Выражение константы не может содержать ссылки на столбцы