我试图用这段代码计算一天中创建的最后一个ID和一个月中创建的最后一个ID
$TodayAttacks = $odb->query("SELECT COUNT(id) FROM `logs`
WHERE `date` BETWEEN DATE_SUB(CURDATE(), INTERVAL '-1' DAY) AND
UNIX_TIMESTAMP()")->fetchColumn(0);
$MonthAttack = $odb->query("SELECT COUNT(id) FROM `logs`
WHERE `date` BETWEEN DATE_SUB(CURDATE(), INTERVAL '-30' DAY) AND
UNIX_TIMESTAMP()")->fetchColumn(0);
我像往常一样把它放在html上,但后来又放在了foto上
它显示0,这是不正确的。有效的方法是显示总的和正在运行的id。
$RunningAttacks = $odb->query("SELECT COUNT(*) FROM `logs` WHERE `time` + `date` > UNIX_TIMESTAMP() AND `stopped` = 0")->fetchColumn(0);
$TotalAttacks = $odb->query("SELECT COUNT(*) FROM `logs`")->fetchColumn(0);
这两件事都可以,但其他的一天和一个月内计算不起作用,只是它显示0。下面是mysql上的ids是如何工作的,我需要帮助修复$todayattacks和$monthattack来计算它们需要什么。
如果有人知道如何解决这个问题,请告诉我:)
1条答案
按热度按时间b5buobof1#
因为您使用的是date\子函数,所以间隔值不需要负数。从昨天到现在的跑步记录:
要获取过去30天的计数,请尝试:
下面是一个如何工作的示例:
https://www.db-fiddle.com/f/itltczjbpbwucwcx3jlimk/1