I have this MySQL query that makes use of MONTH() and YEAR():
SELECT
MONTH(created_at) AS month,
YEAR(created_at) AS year
FR
http://www.postgresql.org/docs/9.0/static/functions-datetime.html
SELECT
EXTRACT(MONTH FROM created_at) AS month,
EXTRACT(YEAR FROM created_at) AS year
FROM users
GROUP BY EXTRACT(MONTH FROM created_at), EXTRACT(YEAR FROM created_at)
ORDER BY EXTRACT(YEAR FROM created_at), EXTRACT(MONTH FROM created_at)
This syntax should work on PostgreSQL, Oracle and Teradata