Как поместить условный оператор в счетчик SQL? - PullRequest
0 голосов
/ 24 июня 2019

У меня есть несколько записей, в которых дата соединения и дата транзакции совпадают, поэтому я хочу включить условие, исключающее, если счет равен нулю (делить на ноль). Мне было интересно, смогу ли я включить его в утверждение COUNT.

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

Вот небольшой фрагмент моего кода:

SELECT 
...
    d.revenue / COUNT((DATEDIFF(day, c.join_date, d.transaction_dates)) <= 90)
...

Как объяснено выше, это ошибка:

Недопустимая операция: делить на ноль

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Постарайтесь сохранить этот синтаксис. Ваш запрос неверен после вашего первого.

   CASE
        WHEN condition1 THEN result1
        WHEN condition2 THEN result2
        WHEN conditionN THEN resultN
        ELSE result
    END;
0 голосов
/ 24 июня 2019

Вы можете использовать оператор case

Select 
...
 Case When Count(foo) > 0 Then bar/count(foo) 
 Else 'skipped' End as ColumnAlias
...
...