Проверка на наличие значения в postgres - NodeJS - PullRequest
0 голосов
/ 23 мая 2018

В моей базе данных мои данные могут выглядеть одним из двух способов:

1 -

hh_match_count: 5,
hh_total_fhc_0: 6,
hh_total_fhc_1: 5,
hh_total_fhc_2: 3,
hh_total_fhc_3: 2,
hh_total_fhc_4: 4

2 -

hh_match_count: 3,
hh_total_fhc_0: 6,
hh_total_fhc_1: 5,
hh_total_fhc_2: 3,
hh_total_fhc_3: null,
hh_total_fhc_4: null

Что я хочу сделать, это рассчитатьколичество раз, когда значение равно> = 1 (потребуется расширить его до> = 2,> = 3 и т. д.) от каждого из hh_total_fhc_0, hh_total_fhc_1, hh_total_fhc_2, hh_total_fhc_3, hh_total_fhc_4, а затем разделить его на hh_match_count.Таким образом, в основном получается% случаев.

Какой запрос мне следует искать при выполнении здесь?Медленно увлекаюсь операторами SQL.

1 Ответ

0 голосов
/ 23 мая 2018

coalesce возвращает первое ненулевое значение, которое было передано.Это превращает ваши нулевые значения в нули, так как вам нужно посчитать их как ноль для среднего значения.Следующим шагом является добавление least к смеси:

SELECT least(1, coalesce(hh_total_fhc_0, 0)) FROM fixtures дает вам 0, если значение равно нулю (важно, что ноль не является числом, поэтому least(1, null) равно 1!), И1, если это положительное значение.Примените это к каждому из ваших столбцов, и затем вы сможете рассчитать процент попаданий в точности так, как вы думали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...