如何计算超过 30 天的数据库行数?

我正在创建一个用于人体工程学评估的仪表板,我正在尝试将我的一张卡片放在仪表板上以显示当前超过 30 天的票数。现在虽然我已经设置了两张比它更旧的票,但它在 30 天内没有产生任何结果。

<?php echo $db->mysqli_result(dbQuery("SELECT COUNT(*) FROM tickets WHERE DATE(date_opened) > DATE(NOW()) - INTERVAL 30 DAY")); ?>

我可能使用了错误的查询,但这是我在查看其他试图实现类似效果的个人示例时所看到的。


斯蒂芬大帝
浏览 124回答 2
2回答

慕娘9325324

我会推荐:WHERE date_opened < CURDATE() - INTERVAL 30 DAY------------------^ note less than我建议避免使用,DATE(date_opened)因为这会阻止使用索引。

红颜莎娜

你要使用DATE_SUB&nbsp;():>&nbsp;DATE_SUB(NOW(),&nbsp;INTERVAL&nbsp;60&nbsp;DAY)完整查询:SELECT&nbsp;COUNT(*)&nbsp;FROM&nbsp;tickets&nbsp;WHERE&nbsp;DATE(date_opened)&nbsp;>&nbsp;DATE_SUB(NOW(),&nbsp;INTERVAL&nbsp;30&nbsp;DAY);我对此进行了测试,您的查询返回 0 行,而 DATE_SUB 返回正确的值。
打开App,查看更多内容
随时随地看视频慕课网APP