У меня есть запрос
SELECT COUNT(*) AS "CNT",
imei
FROM devices
, который отлично выполняется. Я хочу дополнительно ограничить запрос оператором WHERE. Следующим (по-человечески) логическим шагом является изменение запроса следующим образом:
SELECT COUNT(*) AS "CNT",
imei
FROM devices
WHERE CNT > 1
Однако это приводит к сообщению об ошибке ORA-00904: «CNT»: недопустимый идентификатор . По какой-то причине включение запроса в другой запрос дает желаемый результат:
SELECT *
FROM (SELECT COUNT(*) AS "CNT",
imei
FROM devices
GROUP BY imei)
WHERE CNT > 1
Почему Oracle не распознает псевдоним «CNT» во втором запросе?