我的意思是,如果我有这样的表:
id | time | name
1 | 1354382314 | test1
2 | 1374769114 | test2
3 | 1322759914 | test3
如何选择记录,例如,一周前,一个月前或一年前创建的记录?是否只能使用mysql
函数或如何在php
中执行此操作?
答案 0 :(得分:1)
由于时间戳是一个总是增长的数字,您只需计算所请求范围的开始和结束标记,然后使用
WHERE `time` >= 'startstamp' AND `time` <= 'endstamp'
要在1周前获得邮票,您可以使用php functoon strtotime("-1 week")
。与月等相似。
如果您需要当前印章,请使用time()
。
答案 1 :(得分:1)
我认为使用mysql函数也是可能的
像,
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 YEAR))
select * from table where time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))
答案 2 :(得分:1)
select id,time,name from your_table where (current_timestamp-time)>7*24*60*60;
7 * 24 * 60 * 60代表一周