Как разделить это в этой ситуации - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть проблема, которая делится на TOT_MGCV_USE_QTY как 60. Кстати, мой английский не очень хорошо. Ребята помогите мне

COUNT(CASE
      WHEN SERVICE_TYPE IN (0, 100)
      AND TOT_MGCV_USE_QTY / 60
      THEN RECIPIENT END) AS MOC_VOICE_CHARGED_DURATION

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

в соответствии с предоставленным sql, ниже мое понимание: вы хотите иметь количество получателей только тогда, когда тип службы в (0,100) и когда TOT_MGCV_USE_QTY делится на 60, т. Е. Означает, что его остаток будет равен нулю ... если этов этом случае мы можем использовать требования в качестве условия условия, как показано ниже ... (оно может быть изменено в соответствии с требованиями, указанными в случае, если это необходимо)

select count(receipient)
from  ...
...
where
....
service_type in (0,100)
and mod(TOT_MGCV_USE_QTY,60) = 0
....;



0 голосов
/ 10 апреля 2019

вы не проверили (TOT_MGCV_USE_QTY / 60) это с любым значением

    COUNT (CASE
      WHEN SERVICE_TYPE IN (0, 100)
      AND (TOT_MGCV_USE_QTY / 60)=some_value
      THEN RECIPIENT END
      ) AS MOC_VOICE_CHARGED_DURATION

я бы переписал ваш запрос, как показано ниже

     sum (CASE
      WHEN SERVICE_TYPE IN (0, 100)
      AND (TOT_MGCV_USE_QTY / 60)=some_value
      THEN 1 else 0 END
      ) AS MOC_VOICE_CHARGED_DURATION
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...