ОШИБКА: функция avg (логическая) не существует - PullRequest
6 голосов
/ 20 ноября 2010

Я пытаюсь узнать, как часто происходит событие, и событие этого события записывается в моей базе данных, устанавливая логическое значение «ИСТИНА», а случайное событие - «ЛОЖЬ».

Но когда я пытаюсь выбрать значение с помощью функции avg (), он возвращает мне эту ошибку: ОШИБКА: функция avg (логическая) не существует

Как я могу измерить частоту событияи в какое-то время сохраняешь хорошую производительность?

Спасибо.

Joao

Ответы [ 3 ]

8 голосов
/ 20 ноября 2010

Вы можете сделать это:

AVG(CASE WHEN  myBooleanAttribute = TRUE THEN 1 ELSE 0 END)
7 голосов
/ 22 ноября 2010

Это приведёт значение к 0 и 1

select avg(val::int);
3 голосов
/ 06 июля 2017

Если вы разыгрываете int, вы получаете среднее значение int, что не очень полезно. Вместо этого попробуйте:

select avg(val::int::float4);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...