从SQL中的时间戳,从今天,昨天,本周,本月以及两个日期php mysql之
希望这是一个简单的解决方案,但我试图过滤以下数据:
>今天 从数据库获取的日期基本上是一个时间戳。 这是我试过的: >今天 SELECT n.title,COUNT(*) AS times FROM node_view_count WHERE timestamp > DATE_SUB(NOW(),INTERVAL 1 DAY) >昨天 SELECT n.title,INTERVAL 7 DAYS) … 这不是真的工作 任何想法? 解决方法如果您仅按日期选择,请根据CURDATE计算(仅返回日期),而不是NOW(返回日期和时间)。这些例子将在日间范围内捕获:>今天:WHERE timestamp> = CURDATE() 附录:OP的列类型为INTEGER,存储UNIX时间戳,我的答案假定列类型为TIMESTAMP。以下是使用UNIX时间戳记值执行所有相同操作的方法,如果列被索引仍然保持优化(如上所述,如果TIMESTAMP列被索引) 基本上,解决方案是将开始和/或结束日期包含在 >今天:WHERE timestamp> = UNIX_TIMESTAMP(CURDATE())>昨天:WHERE timestamp> = UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 1 DAY))和AND时间戳< UNIX_TIMESTAMP(CURDATE())>这个月:WHERE timestamp> = UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL DAYOFMONTH(CURDATE()) – 1 DAY))> 2013年6月3日和2013年6月7日的两个日期之间(注意结束日期如何指定为6月8日,6月7日):WHERE timestamp> = UNIX_TIMESTAMP(‘2013-06-03’)AND timestamp< UNIX_TIMESTAMP( '2013年6月8日') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |