PHP只计算上个月日期范围的行数,而不是最近30天到当前日期的行数

时间:2015-09-16 18:33:04

标签: php mysql mysqli

我希望数据库只计算上个月生成的报告数量,而不是当前日期的当前日期,因为它目前是例如2015年8月16日至2015年8月16日。例如,我希望它只计算2015年8月的总数,然后在10月份计算2015年9月的数据,这样您就可以回顾上个月在数据库中生成了多少报告。

我希望这有道理吗?它将用于计算员工为完成佣金而创建的报告数量。

<?php
if ($result = $mysqli->query("SELECT count(inventory_id) cc FROM inventories WHERE inventory_date > CURRENT_DATE() - INTERVAL 1 MONTH")) {
        $row = $result->fetch_assoc();
            printf("<div class='col-6 statsMonth inventoryMonthStats'>Inventories in 30 days <span class='statCircle'>%d</span></div>", $row['cc']);
        $result->close();
    }
?>

1 个答案:

答案 0 :(得分:2)

有点难看,但......假设你总是想要&#34;之前&#34;月:

SELECT ...
...
WHERE YEAR(inventory_date) = YEAR(now() - interval 1 month)
  AND MONTH(inventory_date) = MONTH(now() - interval 1 month)

如果您想要任意前几个月,请将now()换成您想要计算&#34;之前&#34;的月份中的日期。的。