Tengo una mesa como esta

PartID   Quantity     Date
12315       1      2017-01-24
51245       3      2017-01-26
12345       4      2017-02-20
12415       1      2017-02-25
.....     ..     ...........

Necesito el resultado del informe como:

Monthly Quantity January: 4
Monthly Quantity February: 5

Entonces, en mi informe, cada columna debe tener el nombre del mes e incluir todas las cantidades (recuento) para este mes. Cualquier ayuda sería apreciada.

sql
-1
damianm 28 feb. 2018 a las 01:00

3 respuestas

Creo que estás buscando una consulta como:

select month(Date), sum(Quantity)
from table
group by month(Date)
2
Eray Balkanli 27 feb. 2018 a las 22:03

En MS SQL:

Puedes usar algo como esto:

La función DATENAME () devuelve una parte específica de una fecha determinada, como un valor de cadena.

Para obtener más información sobre DATENAME (), visite https://www.w3schools.com/sql/ func_sqlserver_datename.asp

La función CAST () convierte una expresión de un tipo de datos a otro tipo de datos.

Para obtener más información sobre CAST (), visite https://www.w3schools.com/sql/ func_sqlserver_cast.asp

SELECT
  MONTH(Date) AS MonthNo,
  'Monthly Quantity ' + DATENAME(MONTH, date) + ' : ' + CAST(SUM(Quantity) AS nvarchar(10)) AS Monthwise
FROM parttable
GROUP BY DATENAME(MONTH, date),
         MONTH(Date)
ORDER BY MONTH(Date)

Entonces la salida será

enter image description here

1
Laxmi 28 feb. 2018 a las 05:55

¿Qué base de datos estás usando?

En SQL Server:

SELECT DATENAME(month, Date) AS 'Month Name', SUM(Quantity) FROM table GROUP BY DATENAME(month, Date)

0
Eray Balkanli 27 feb. 2018 a las 22:17