php - 如何通过 unixstamp 获取过去 24 小时的行

标签 php sql

我有这个;

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

但它不起作用。我想在 24 小时内显示所有新用户

最佳答案

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

SELECT col1, col2, otherCols
    FROM yourTable 
    WHERE timestamp_col > (NOW() - INTERVAL 24 HOUR)

表达式 (NOW() - INTERVAL 24 HOUR)返回 24 小时前的日期。 MySql 足够智能,可以处理 Time related column types 之间的比较.

timestamp_col不是时间相关类型,而是类似于 varchar 或 int 列的类型,您必须使用 FROM_UNIXTIME在列上或调整上面的查询来读取
SELECT col1, col2, otherCols
    FROM yourTable 
    WHERE timestamp_col > UNIX_TIMESTAMP( NOW() - INTERVAL 24 HOUR )

See DATE_SUB and DATE_ADD in the MySql Manual .

关于php - 如何通过 unixstamp 获取过去 24 小时的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864613/

相关文章:

javascript - 下拉列表更改时的 HTML 提交表单

php - Symfony2 - Doctrine-extension - 用户可登录

Mysql复杂自然Join Select语句

mysql - 使用 CASE EXPRESSION 的列到行

php - 在 Laravel 中添加操作 =""时表单失控

PHP:切换与如果

php - 具有 GET 变量的 Codeigniter 路由

c# - 将全文搜索与 SQL Server 合并有多难?

sql - 聚合不提供我期望的信息并按重复记录分组

php - mysql 条件查询