Жаль, что у Oracle есть ограничения, подобные этим. Конечно, результат для столбца, не входящего в GROUP BY, будет случайным, но иногда вы этого хотите. Глупый Oracle, вы можете сделать это в MySQL / MSSQL.
НО есть обходной путь для Oracle:
Пока не работает следующая строка
SELECT unique_id_col, COUNT(1) AS cnt FROM yourTable GROUP BY col_A;
Вы можете обмануть Oracle с некоторыми нулями, как показано ниже, чтобы сохранить ваш столбец в области видимости, но не группировать по нему (предполагая, что это числа, в противном случае используйте CONCAT)
SELECT MAX(unique_id_col) AS unique_id_col, COUNT(1) AS cnt
FROM yourTable GROUP BY col_A, (unique_id_col*0 + col_A);