Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/06/2005, 06:33
PosDon
 
Fecha de Ingreso: octubre-2004
Mensajes: 104
Antigüedad: 20 años, 1 mes
Puntos: 0
Es un poquito largo, pero bueno, como no se que SGBD utilizas te mando esto que valdría para Oracle, SQL Server y MySQL (Con Oracle igual se podría acortar con el DECODE()).

Código:
SELECT year(fecha) anyo, 
	COUNT(CASE(month(fecha)) WHEN 1 THEN 1 END) Enero, 
	COUNT(CASE(month(fecha)) WHEN 2 THEN 1 END) Febrero, 
	COUNT(CASE(month(fecha)) WHEN 3 THEN 1 END) Marzo, 
	COUNT(CASE(month(fecha)) WHEN 4 THEN 1 END) Abril, 
	COUNT(CASE(month(fecha)) WHEN 5 THEN 1 END) Mayo, 
	COUNT(CASE(month(fecha)) WHEN 6 THEN 1 END) Junio, 
	COUNT(CASE(month(fecha)) WHEN 7 THEN 1 END) Julio, 
	COUNT(CASE(month(fecha)) WHEN 8 THEN 1 END) Agosto, 
	COUNT(CASE(month(fecha)) WHEN 9 THEN 1 END) Septiembre, 
	COUNT(CASE(month(fecha)) WHEN 10 THEN 1 END) Octubre, 
	COUNT(CASE(month(fecha)) WHEN 11 THEN 1 END) Noviembre, 
	COUNT(CASE(month(fecha)) WHEN 12 THEN 1 END) Diciembre
FROM noticias
GROUP BY year(fecha);
Editado: Bueno con oracle no estoy seguro de si funcionaría, no recuerdo si existían las funciones de year() y month().