mysql - 从当前日期减去月份 sql

标签 mysql date intervals

我正在尝试从今天减去日期(获取 1 个月前直到永远的报告)。到目前为止我已经尝试过

DATE_SUB(NOW(), INTERVAL 1 MONTH) 

上下文如下:

SELECT contracts.currency , ROUND(SUM( 
    CASE
        WHEN contracts.currency = 'USD' THEN contracts.value*550
        WHEN contracts.currency = '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(NOW(), INTERVAL 1 MONTH)
GROUP BY currency 
ORDER BY currency ASC

最佳答案

看看这是否有帮助:

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

如果没有,最好检查表中“日期”列的类型。有时它是 varchar 而不是日期。这是为了防止您不是创建该表的人。

关于mysql - 从当前日期减去月份 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620109/

相关文章:

php - 我如何在 mysql 中编写 Group By 查询日期时间字段

mysql - 如何忽略MySQL中的重复行?

mysql - sql查询从mysql中选择记录

date - Jenkins - 每个月结束前 2 天运行作业

javascript - React——点击按钮定时器开始计时

R 对落在某个数字区域内的因素行进行伪合并

java - 每 X 秒运行一次代码 (Java)

mysql - 使用 MySQL MyISAM 在服务器之间拆分负载

mysql - 如何编写这个复杂的 SQL 查询?

php - MySQL 范围日期从第一个日期结果到 x 天