我想从数据库中检索TODAY的数据,但我不知道该怎么做。我实际上想从过去的24小时内获取数据,我只想要今天的数据(所以根据实际的服务器时间)。如何从MySQL数据库获取今天/昨天的数据?
我还想得到昨天的数据。任何人都可以帮助我如何做到这一点?
示例代码:
"SELECT id FROM folk WHERE time = ???"
预先感谢您!
我想从数据库中检索TODAY的数据,但我不知道该怎么做。我实际上想从过去的24小时内获取数据,我只想要今天的数据(所以根据实际的服务器时间)。如何从MySQL数据库获取今天/昨天的数据?
我还想得到昨天的数据。任何人都可以帮助我如何做到这一点?
示例代码:
"SELECT id FROM folk WHERE time = ???"
预先感谢您!
我认为你正在寻找这样的:
"SELECT id FROM folk WHERE DATE(time) = CURDATE()"
时间必须在你表中的字段保存到该行的引用。
更新
要获取昨天补充:
"SELECT id FROM folk WHERE DATE(time) = CURDATE() - 1"
更新2
要获得所有附加本月:
"SELECT id FROM folk
WHERE MONTH(time) = MONTH(NOW()) AND YEAR(time) = YEAR(NOW())"
[R eference:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
没有人,我实际上正在根据服务器时间从ACTUAL DAY获取数据。就像上午8点一样,所以它应该只显示最近8小时内的数据。 – user1406071
我认为这就是我所提供的。每个记录创建时都需要一个时间戳。 MySQL不保存添加记录的日志。 – JvdBerg
比我怎样才能得到昨天或每月的数据呢? – user1406071
当您使用时间戳:
"SELECT id FROM folk WHERE time >= ".mktime(0, 0, 0)
这将选择自今天起所有数据。
如果你想获得不为今天所有的约会,你会怎么做
"SELECT id FROM folk WHERE time < ".mktime(0, 0, 0)
选择从昨天的数据,你会怎么做:
"SELECT id FROM folk WHERE time < ".mktime(0, 0, 0)." AND time >= ".mktime(0, 0, 0, date('m'), date('d')-1, date('Y'))
如果你使用DATETIME,只是供参考,这将是这样的:
"SELECT id FROM folk WHERE time >= '".date('Y-m-d').' 00:00:00."'"
请注意,字符串连接在SQL查询中被忽略;是的,我知道这只是一个例子 – tucuxi
“选择ID从民俗其他时间”=“.mktime(0,0,0) 它实际上不工作。它给了我所有的数据,而不仅仅是这一天:/ – user1406071
嗯,它应该工作?我测试了时间戳并且它们是准确的,所以我只能假定比较失败或者无法将两者相互匹配。 @tucuxi我知道,但试图保持它简短和甜蜜;-) – David
SELECT id FROM folk WHERE DATE(time) = DATE(NOW());
SELECT id FROM folk WHERE DATE(time) = DATE(DATE_SUB(NOW(), INTERVAL 1 DAY));
提供了“时间”有一个适当的日期,时间型
'时间'是一个时间戳,正如OP在他的评论中解释的(可能在你的回答后发布的)。 – Havelock
尝试这样的事情>>
SELECT id from folk WHERE DAY(date) = EXTRACT(DAY from (NOW() - inTERVAL
1 DAY))
你是如何存储的“时间”,INT,时间戳,日期时间等? – David
实际上是时间戳。 – user1406071