Количество фильтров (*) для определенного числа? - PullRequest
2 голосов
/ 10 апреля 2019

Если я пытаюсь выполнить любой из приведенных ниже запросов, я получаю сообщение:

Ошибка при компиляции оператора: СБОЙ: ParseException строка 5: 0 отсутствует EOF в 'где' рядом с 'nino_dtkn'

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

Мой вывод верен?

Что я могу сделать, чтобы это исправить?

Я не хочу создавать новую таблицу - я хочу использовать это как подзапрос для объединения со второй таблицей.

select count(*) as cnt, 
                   [variable 1]
from [source table]
group by [variable 1]
where count(*) >= 20; 

select count(*) as cnt, 
                   [variable 1]
from [source table]
group by [variable 1]
where cnt >= 20;

Ответы [ 2 ]

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

Использование HAVING предложение

select count(*) as cnt,[variable 1]
from [source table]
group by [variable 1]
having count(*) >= 20;
0 голосов
/ 10 апреля 2019

Я не уверен в ваших ожидаемых результатах.WHERE CLAUSE всегда должен предшествовать GROUP BY FUNCTION.

Таким образом, ваш запрос может быть переписан, как указано ниже:

select count(*) as cnt,[variable 1]
from [source table]
where count(*) >= 20
group by [variable 1]
; 
...