Bases de Datos > SQL Server
Consulta por mes
JaviMarciano:
Hola para hacer una consulta por meses hago lo siguiente:
--- Código: SQL ---SELECT datepart(mm,Fecha)AS Mes, SUM(Importe)AS TotalFROM [Toot].[dbo].[T_Gastos] GROUP BY datepart(mm,Fecha)
Mes........Total
1...........500
2...........550
3...........700
.
.
.
El problema es que si introd. un registro de otro año lo suma con los del mismo mes del otro año
como puedo discriminar por año
La Tabla es la siguiente
T_Gastos:
Importe
Destino
Fecha
Sagma:
debes usar la condicion WHERE.
SELECT datepart(mm,Fecha)AS Mes, sum(Importe)AS Total
FROM [Toot].[dbo].[T_Gastos]
WHERE fecha between "01/01/2008" and "31/12/2008"
GROUP BY datepart(mm,Fecha)
pero por ahi he escuchado que el BETWEEN es un poco no se en SQL, segun dicen, que me corrijan si estoy mal, hay que usar:
WHERE fecha >= "01/01/2008"
AND fecha <= "31/12/2008"
suerte. :comp:
ElNapster:
--- Citar ---pero por ahi he escuchado que el BETWEEN es un poco no se en SQL, segun dicen, que me corrijan si estoy mal, hay que usar:
--- Fin de la cita ---
Puedes hacer el uso del BETWEEN sin ningun problema en SQL Server ;)
:comp:
JaviMarciano:
Esa es la manera correcta de hacerlo?
no hay alguna forma de hacerlo ingresando solo el año?
F_Tanori:
A ver si entendi ...
Si agruparas tambien por año obtendrias el resultado deseado creo ...
--- Código: SQL ---SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha) 'Anio', SUM(Importe)AS TotalFROM T_GastosGROUP BY datepart(mm,Fecha),datepart(YYYY,Fecha)
Si quieres un año en especifico
--- Código: SQL ---SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha) 'Anio', SUM(Importe)AS TotalFROM T_GastosWHERE datepart(YYYY,Fecha) = 2007GROUP BY datepart(mm,Fecha),datepart(YYYY,Fecha)
Ordenando
--- Código: SQL ---SELECT datepart(mm,Fecha)AS Mes,datepart(YYYY,Fecha) 'Anio', SUM(Importe)AS TotalFROM T_GastosWHERE datepart(YYYY,Fecha) = 2007GROUP BY datepart(mm,Fecha),datepart(YYYY,Fecha)ORDER BY datepart(mm,Fecha),datepart(YYYY,Fecha)
Saludos
Navegación
[#] Página Siguiente
Ir a la versión completa