如何通过unixstamp获取最近24小时的行数

Joh*_*son 2 php sql

我有这个;

$long = "86400";
$query = "SELECT * FROM users WHERE unixdate = UNIX_TIMESTAMP()-$long 
          ORDER BY unixdate DESC";
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我想在24小时内向所有新用户展示

Gor*_*don 15

您可以在MySQL中完全执行该查询

SELECT col1, col2, otherCols
    FROM yourTable 
    WHERE timestamp_col > (NOW() - INTERVAL 24 HOUR)
Run Code Online (Sandbox Code Playgroud)

表达式(NOW() - INTERVAL 24 HOUR)返回24小时前的日期.MySql非常智能,可以处理时间相关列类型之间的比较.

如果timestamp_col不是时间相关的类型,但是你必须FROM_UNIXTIME在列上使用varchar或int列,或者调整上面的查询来读取

SELECT col1, col2, otherCols
    FROM yourTable 
    WHERE timestamp_col > UNIX_TIMESTAMP( NOW() - INTERVAL 24 HOUR )
Run Code Online (Sandbox Code Playgroud)

请参阅MySql手册中的DATE_SUB和DATE_ADD.


Pek*_*ica 7

>而不是=.目前,您正在查询在某一秒创建的条目,这些条目几乎不匹配.