[英]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.