Oracle SQL отсутствует выражение / синтаксическая ошибка - PullRequest
0 голосов
/ 19 мая 2018

Итак, в основном моя проблема в том, что у меня следующий запрос, и я получаю сообщение об ошибке, в котором говорится, что есть синтаксическая ошибка, но я могу решить, что.Мне интересно, не могу ли я использовать HAVING COUNT () в подзапросе.

SELECT FIELDNUM
FROM INTEREST 
GROUP BY FIELDNUM
HAVING COUNT(ACNUM) >= ALL(SELECT FIELDNUM
                       FROM INTEREST
                       HAVING COUNT(ACNUM));

Синтаксическая ошибка отображается в последних 2 закрывающих скобках, т.е. HAVING COUNT (ACNUM)) ;

Результатом, который я пытаюсь получить, является поле (FIELDNUM), в котором заинтересовано большинство ученых (ACNUMS), но мне не разрешено использовать MAX или ROWNUM.

Таблица интересов имеет атрибуты FIELDNUM, ACNUM и DESCRIPTION.

1 Ответ

0 голосов
/ 19 мая 2018

Запрос по крайней мере имел бы смысл, если бы он был структурирован как:

SELECT FIELDNUM
FROM INTEREST 
GROUP BY FIELDNUM
HAVING COUNT(ACNUM) >= ALL (SELECT COUNT(ACNUM)
                            FROM INTEREST
                            GROUP BY FIELDNUM
                           );

Я бы не рекомендовал писать логику, чтобы получить fieldnum s, которые встречаются чаще всего в таблице., но это допустимый метод.

...