COUNT (DISTINCT) в подзапросе

111
13

Я пытаюсь получить каждый номер кредита, подсчитывая, сколько раз номер кредита появляется в каждом месяце. Поэтому в некоторых случаях номер кредита появляется дважды в месяц, но я просто хочу, чтобы он учитывался один раз в месяц. Столбцы TEST и RD не дают мне то, что мне нужно. Вот что я имею:

select 
[Month],
one,
LoanNumber,
two,
three,
four,
...

count(distinct LoanNumber) as TEST,
COUNT(LoanNumber) OVER () as RD

from

tableNAME LC
where [month] ='12-2016'
group by
[Month],
one,
LoanNumber,
two,
three,
four,
...

Пожалуйста помоги!

спросил(а) 2016-12-22T21:00:00+03:00 3 года, 7 месяцев назад
1
Решение
55

Я думаю, вам просто нужно добавить предложение partition by к вашему выражению counting count() и удалить group by, например:

select 
[Month],
one,
LoanNumber,
two,
three,
four,
...
COUNT(*) OVER (partition by Month, LoanNumber) as NumberOfOccurences

from

tableNAME LC
where [month] ='12-2016'

ответил(а) 2016-12-22T21:07:00+03:00 3 года, 7 месяцев назад
41

вам нужно взять LoanNumber из вашего предложения GROUP BY.


Кроме того, выньте это из предложения SELECT, если вы хотите группировать по месяцам, а не каждый номер кредита в течение месяца.

ответил(а) 2016-12-22T21:25:00+03:00 3 года, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема