sql >> Base de Datos >  >> RDS >> Oracle

Cómo consultar GROUP BY Mes en un año

Me inclinaría a incluir el año en el resultado. Una forma:

select to_char(DATE_CREATED, 'YYYY-MM'), sum(Num_of_Pictures)
from pictures_table
group by to_char(DATE_CREATED, 'YYYY-MM')
order by 1

Otra forma (SQL más estándar):

select extract(year from date_created) as yr, extract(month from date_created) as mon,
       sum(Num_of_Pictures)
from pictures_table
group by extract(year from date_created), extract(month from date_created)
order by yr, mon;

Recuerde el orden por, ya que presumiblemente desea que estén en orden, y no hay garantía sobre el orden en que se devuelven las filas después de agrupar por.