SQL Server - contar registros totales de una campo y otra contar con un criterio del mismo campo

 
Vista:
Imágen de perfil de juan carlos

contar registros totales de una campo y otra contar con un criterio del mismo campo

Publicado por juan carlos (4 intervenciones) el 18/08/2021 18:58:58
buenas tardes de antemano gracias por su apoyo
tengo una tabla con campos como Fecha de factura, Número de factura, importe de factura .. entre otros. Lo que necesito es que en una sola consulta me tres columnas: una el mes, otra el número total de facturas, otra el número de facturas cuyo importe sea mayor a 1000

El resultado deseado sería así ¿Cómo lograrlo?
Gracias
Mes Total Facturas
facturas Más de 1,000
1 350 130
2 412 156
3 389 145
4 402 166
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

contar registros totales de una campo y otra contar con un criterio del mismo campo

Publicado por tpa10 (5 intervenciones) el 18/08/2021 21:14:23
--SOLUCION:
--creamos una tabla de ejemplo... como variable de tabla
--en tu caso hay que usar la tabla de facturas real con los nombres de campos reales... ok ¿?

declare @facturas table
(
fecha datetime,
numero varchar(15),
importe numeric (8,3)
)

--vamos a insertar unos valores de prueba..
insert into @facturas (fecha, numero, importe) values ('01/01/2021',11,11)
insert into @facturas (fecha, numero, importe) values ('01/01/2021',12,12)
insert into @facturas (fecha, numero, importe) values ('01/01/2021',13,13)
insert into @facturas (fecha, numero, importe) values ('01/01/2021',1004,1004)
insert into @facturas (fecha, numero, importe) values ('01/01/2021',1005,1005)
insert into @facturas (fecha, numero, importe) values ('01/02/2021',21,21)
insert into @facturas (fecha, numero, importe) values ('01/02/2021',22,22)
insert into @facturas (fecha, numero, importe) values ('01/02/2021',2003,2003)
insert into @facturas (fecha, numero, importe) values ('01/03/2021',31,3001)
insert into @facturas (fecha, numero, importe) values ('01/03/2021',32,2)

--comprobamos el contenido...
select * from @facturas

--ESTO ES LO QUE QUIERES:...
select 'MES' = month (fecha)
, 'TOTAL FACTURAS' = count (numero)
, 'FACTURAS MAS DE 1000' = sum (CASE WHEN importe > 1000 THEN 1 ELSE 0 END)
from @facturas
group by month(fecha)

fecha numero importe
2021-01-01 00:00:00.000 11 11.000
2021-01-01 00:00:00.000 12 12.000
2021-01-01 00:00:00.000 13 13.000
2021-01-01 00:00:00.000 1004 1004.000
2021-01-01 00:00:00.000 1005 1005.000
2021-02-01 00:00:00.000 21 21.000
2021-02-01 00:00:00.000 22 22.000
2021-02-01 00:00:00.000 2003 2003.000
2021-03-01 00:00:00.000 31 3001.000
2021-03-01 00:00:00.000 32 2.000

MES TOTAL FACTURAS FACTURAS MAS DE 1000
1 5 2
2 3 1
3 2 1

-- y funciona y todo....
--ojo..... solo se usa el campo mes (month) y quizas lo correcto sería usar mes+año para evitar errores tontos... pero eso es tu decision.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de juan carlos

contar registros totales de una campo y otra contar con un criterio del mismo campo

Publicado por juan carlos (4 intervenciones) el 18/08/2021 21:32:45
Hola muchas gracias por tu apoyo, si efectivamente es lo que buscaba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar