How to group by each day in PL/SQL?

oracle, plsql, sql

Solution

SELECT TO_CHAR(dateTime, 'DD') DAY, TO_CHAR(dateTime, 'MM') MONTH, errormessage
FROM log
WHERE (...)
GROUP BY TO_CHAR(dateTime, 'DD'), TO_CHAR(dateTime, 'MM'), errormessage

Column aliases are no good for `GROUP BY`, you need the full expression.

Problem

Im trying to get statistics for each day with PL/SQL. Each day have several entries, bukkets of errors :-) I want to group them by day. What Im currently doing: ``` SELECT TO_CHAR(dateTime, 'DD') DAY, TO_CHAR(dateTime, 'MM') MONTH, errormessage FROM log WHERE (...) GROUP BY MONTH, DAY, errormessage ``` This results in ORA-00904: "DAY": invalid identifier (stops on the group by). Any help? :D

Original source