I've moved to PostgreSQL from MySQL, but got strange problem. My query worked perfect in MySQL.
SELECT MIN("events"."schedule") AS schedule
FROM "events"
WHERE ("events"."state" IN (1)) AND ("events"."schedule" >= '2014-07-01')
GROUP BY EXTRACT(YEAR FROM "events"."schedule"),
EXTRACT(MONTH FROM "events"."schedule")
ORDER BY "events"."schedule" DESC
PostgreSQL gived me this error:
ERROR: column "events.schedule" must appear in the GROUP BY clause or be used in an aggregate function
LINE 6: ORDER BY "events"."schedule" DESC
^
********** Error **********
ERROR: column "events.schedule" must appear in the GROUP BY clause or be used in an aggregate function
SQL state: 42803
Character: 238
How should I rewrite this query to have "events.schedule" in GROUP BY clause when I group data by two columns at once?