Почему Oracle говорит не выражение GROUP BY?

Я пытаюсь получить данные из таблицы базы данных Oracle при следующих условиях

Все записи, найденные по почтовому индексу, должны быть сгруппированы, отсортированы по убыванию почтового индекса.найденные по городам записи должны быть сгруппированы, отсортированы по алфавиту.Все записи по названию дилера должны быть сгруппированы, отсортированы по алфавиту.

Чтобы выполнить вышеуказанные условия, я написал запрос, как показано ниже

SELECT DISTINCT ba.uuid AS uuid
        , COUNT(*) over() AS rowcount 
FROM basicaddress ba 
WHERE ba.postalcode='143456' 
OR ba.lastname LIKE '%143456%' 
OR ba.city LIKE '%143456%'
GROUP BY
    CASE WHEN ba.postalcode='143456' THEN ba.postalcode END 
ORDER BY 
    CASE WHEN ba.postalcode='143456' THEN ba.postalcode END DESC, 
    CASE WHEN ba.lastname LIKE '%143456%' THEN ba.lastname END ASC, 
    CASE WHEN ba.city LIKE '%143456%' THEN ba.city ELSE ba.postalcode END DESC

Этот запрос работает нормально в MYSQL, но в оракуле он говорит "не выражение GROUP BY "

Любая помощь будет оценена

Ответы на вопрос(4)

Ваш ответ на вопрос