Consulta SQL para el cálculo de mtd, ytd valores

Tengo una tabla con columnas ID, Title, Date, Amount.

Necesito las MTD, hasta la fecha la cantidad de valores en contra de cada transacción basada en Title, Date.

Hay alguien que había hecho esto antes?

2 Kommentare

  1. 4
    Select t.title, t.Date, 
      Sum(y.Amount) YTD,
      Sum(m.Amount) MTD
    From table t
       join table y
          on y.Title = t.Title
             and datediff(year, y.Date, t.Date) = 0 
             and y.Date <= t.Date
       join table m
          on m.Title = t.Title
             and datediff(month, m.Date, t.Date) = 0 
             and m.Date <= t.Date
    Group by t.title, t.Date
    • Gracias! Realmente útil
  2. 2
    SELECT ID,
           Title,
           Date,
           Amount,
           MTD  = SUM(Amount) OVER (PARTITION BY Title, DATEADD(MONTH, DATEDIFF(MONTH, 0, [Date]), 0)),
           YTD  = SUM(Amount) OVER (PARTITION BY Title, DATEADD(YEAR, DATEDIFF(YEAR, 0, [Date]), 0))
    FROM   [a_table]
    • Gracias! Realmente útil

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea