Сумма SQL-запроса и деление на счетчик разных дат - PullRequest
1 голос
/ 22 марта 2019

Я помогаю, я ищу сумму поля данных и затем хочу разделить ее на количество различных дат в этом поле.

SUM(CASE WHEN dateResolved IS NOT NULL 
         THEN 1 ELSE 0 
    END) / DISTINCT(dateResolved) AvgPerDay

Если в dateResolved 32 даты, с5 разных дат, я хочу вернуть 6.4.

Ответы [ 2 ]

3 голосов
/ 22 марта 2019

По умолчанию выполняется целочисленное деление:

SUM(CASE WHEN dateResolved IS NOT NULL 
         THEN 1 ELSE 0 
    END) * 1.0 / COUNT(DISTINCT dateResolved) AvgPerDay

Однако просто count также будет работать:

COUNT(dateResolved) * 1.0 / COUNT(DISTINCT dateResolved) AvgPerDay

COUNT(dateResolved) будет игнорировать null значения.

0 голосов
/ 22 марта 2019

Я бы сделал это как:

SUM(CASE WHEN dateResolved IS NOT NULL 
         THEN 1.0 ELSE 0 
    END) / COUNT(DISTINCT dateResolved) as AvgPerDay

Но это проще сформулировать как:

COUNT(dateResolved) * 1.0 / COUNT(DISTINCT dateResolved) as AvgPerDay
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...