sql >> Base de Datos >  >> RDS >> Mysql

Restar meses de la fecha actual sql

A ver si esto ayuda:

SELECT contracts.currency , ROUND(SUM( 
CASE contracts.currency
    WHEN 'USD' THEN contracts.value*550
    WHEN 'UF'  THEN contracts.value*22000
    ELSE contracts.value
END),2)
AS real_value
FROM contracts
WHERE currency IN ('USD','UF','CLP') AND 
      date >=DATE_SUB(curdate(), INTERVAL 1 MONTH) AND
      date <=curdate()
GROUP BY currency 
ORDER BY currency ASC

De lo contrario, sería bueno verificar el tipo de la columna "fecha" en la tabla. A veces es varchar en lugar de fecha. Esto es en caso de que no seas tú quien haya creado la tabla.