为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
斯蒂芬大帝 2021-10-15 16:54:32
我正在创建一个用于人体工程学评估的仪表板,我正在尝试将我的一张卡片放在仪表板上以显示当前超过 30 天的票数。现在虽然我已经设置了两张比它更旧的票,但它在 30 天内没有产生任何结果。<?php echo $db->mysqli_result(dbQuery("SELECT COUNT(*) FROM tickets WHERE DATE(date_opened) > DATE(NOW()) - INTERVAL 30 DAY")); ?>我可能使用了错误的查询,但这是我在查看其他试图实现类似效果的个人示例时所看到的。
查看完整描述

2 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

我会推荐:


WHERE date_opened < CURDATE() - INTERVAL 30 DAY

------------------^ note less than

我建议避免使用,DATE(date_opened)因为这会阻止使用索引。


查看完整回答
反对 回复 2021-10-15
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

你要使用DATE_SUB ():

> DATE_SUB(NOW(), INTERVAL 60 DAY)

完整查询:

SELECT COUNT(*) FROM tickets WHERE DATE(date_opened) > DATE_SUB(NOW(), INTERVAL 30 DAY);

我对此进行了测试,您的查询返回 0 行,而 DATE_SUB 返回正确的值。


查看完整回答
反对 回复 2021-10-15
  • 2 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号