【问题标题】:PHP count rows for date range for previous month only and not from last 30 days to current datePHP 仅计算上个月日期范围的行数,而不是从过去 30 天到当前日期
【发布时间】:2015-09-16 18:33:04
【问题描述】:

我希望数据库仅计算上个月生成的报告数量,而不是像当前那样从当前日期向后一个月计算,例如16/08/15 至 16/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();
    }
?>

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    有点难看,但是...假设您总是想要“上一个”月份:

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

    如果您想要任意前几个月,请将now() 换成您想要计算“上一个”月份的日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2016-05-17
      相关资源
      最近更新 更多