देखें कि क्या यह मदद करता है:
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
यदि नहीं, तो तालिका में "दिनांक" कॉलम के प्रकार की जांच करना अच्छा होगा। कभी-कभी यह तारीख के बजाय वर्चर होता है। यह उस स्थिति में है जब आप वह नहीं हैं जिसने तालिका बनाई है।