繁体   English   中英

PHP仅对上个月的日期范围而不是从最近30天到当前日期的行计数

[英]PHP count rows for date range for previous month only and not from last 30 days to current date

我希望数据库仅统计上个月产生的报告数量,而不是从当前日期开始向后计数一个月,因为它当前是例如15/08/15至15/08/15。 例如,我希望只计算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();
    }
?>

有点丑陋,但是...假设您一直想要“上一个”月份:

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

如果想要任意的前几个月,则将now()交换为要计算其“上一个”月份的日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM