我想从mysql数据库的表中获取数据,其中我的时间戳是unix格式的。
我在做了一些研究后使用了以下查询,但仍然无法得到结果,它显示空行。有人能帮忙吗:
SELECT *
FROM bs_items
WHERE owner_id='3'
AND timestamp > (now() - interval 30 minute)
它应该工作不知道哪里是问题:
TABLE: bs_items
==================================================
| log_id | owner_id | item_code | timestamp |
==================================================
| 1 | 10 | 100 | 12345 |
--------------------------------------------------
| 2 | 12 | 200 | 23456 |
--------------------------------------------------
已经有一段时间了,但我认为这可能是正确的:
SELECT * FROM bs_items WHERE
datetime_column < DATE_SUB(NOW(), INTERVAL 30 MINUTE)
此外,您还可以通过select进行日期时间比较,并将其放置在小于的查询中。选择"2012-07-22 13:50:14"+间隔30分钟
所以猜测一下:SELECT*FROM表WHERE datetimecol<(选择"2012-07-22 13:50:14"+间隔30分钟)
试着运行一个查询,看看结果是什么。添加30分钟,看看要调试的结果:
select '2012-07-22 13:50:14' + INTERVAL 30 MINUTE
似乎在尝试了足够长的时间后,我找到了完美的解决方案
$sql=mysql_query("SELECT * FROM bs_items WHERE
owner_id='$loguser' AND timestamp > ( UNIX_TIMESTAMP( ) -600)
order by timestamp desc");
它似乎给出了我想要的结果,分享它可能会对某人有所帮助。。