Я знаю, что это старая ветка, но кажется, что проблема пользователей не была действительно решена;объяснения были хороши при объяснении, почему предложение group by не позволяет использовать псевдонимы, но альтернативы не было.
Исходя из приведенной выше информации, псевдонимы не могут использоваться в группе, так как group by запускается первым до того, как псевдонимы из предложения select будут сохранены в памяти.Таким образом, простое решение, которое работало на мой взгляд, заключалось в добавлении внешнего выбора, который просто выбирает псевдонимы, а затем группирует на том же уровне.
Пример:
SELECT alias1, alias2, alias3, aliasN
FROM
(SELECT field1 as alias1, field2 as alias2, field3 as alias3, fieldN as aliasN
FROM tableName
WHERE ' ' = ' ')
GROUP BY alias1, alias2, alias3, aliasN
Довольно просто один развы видите решение, но PITA, если пытаетесь выяснить самостоятельно в первый раз.
Это единственный способ, которым я смог "сгруппировать" для производного поля из оператора case, так что этохороший трюк, чтобы знать.