Hola roigle111:
Lo puedes hacer con un SUM condicional, sería más o menos así
Código SQL:
Ver originalSELECT SUM(1) total,
SUM(CASE WHEN fecha <
CONVERT(datetime,CONVERT(VARCHAR(10), GETDATE(), 103),103)
THEN 1 ELSE 0 END) total_anteriores
FROM tabla
/*
total total_anteriores
----------- ----------------
5 3
*/
Recuerda que en SQL server las fecha se guardan también con hora, por lo tanto hay que tener cuidado con este detalle. La doble conversión
Código:
CONVERT(datetime,CONVERT(varchar(10), GETDATE(), 103),103)
es justamente para considerar sólo la fecha, sin la hora. El poner SUM(1) es como un contador total = total + 1 común en programación... y sumariza todos los registros, independientemente de la fecha.
Saludos
Leo.