当前位置: 首页 > 面试题库 >

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

宗政卓
2023-03-14
问题内容

我有这个;

$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很聪明,可以处理与时间相关的列类型之间的比较。

如果timestamp_col不是与时间相关的类型,而是类似varchar或int列的类型,则必须FROM_UNIXTIME在该列上使用或调整上面的查询以读取

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

请参见MySql手册中的DATE_SUB和DATE_ADD。



 类似资料:
  • 问题内容: 我正在使用当前系统时间在表中插入数据,例如 。因此,在获取数据时,我仅需要获取最后3个小时的数据。 以下链接对我没有帮助。因为此链接使用的是我没有的特定日期格式。 从SQLite获取根据过去小时的数据 这是我的查询,但似乎无法正常工作。 插入时时间戳只不过是当前系统时间。 请给我任何参考或提示。 问题答案: 您可以使用以下方法获取3小时的时间戳记 然后,您可以传递给查询。 或者您可以在

  • 问题内容: 例如,我的Ubuntu机器上正在运行MySQL服务器。最近24小时内某些数据已更改。 哪些(Linux)脚本可以找到最近24小时内已更改的文件? 请列出文件名,文件大小和修改时间。 问题答案: 要查找特定特定目录及其子目录中最近24小时(最后一整天)内修改的所有文件,请执行以下操作: 应该是你喜欢的 在之前是非常重要的-这意味着任何改变一天或更短前。相反,“ 之前” 表示至少一天前发生

  • 我要拿到过去24小时的所有资料。我已经做了一些谷歌搜索,它似乎不容易做与Dynamodb。 我在想,是否可以创建一个二级索引,使用一个公共散列键和一个时间戳字段作为排序键。因此,我可以使用条件timestamp>(datetime.now-24h)查询时间戳。请问这是一个可行的方法还是另有想法? 实际上,我只需要我的表中不超过24小时的项目。所以另一个想法是每小时清理一次表,删除所有超过24小时的

  • 问题内容: 我想要以毫秒为单位的当前时间,然后以12小时格式存储它,但是通过这段代码,我得到了24小时格式时间。 有人可以建议修改以获得期望的结果吗? 问题答案: 更改到作为 请注意-将为您提供 分钟 而不是 月份 。

  • 这是正确的工作,但它绘制了许多标记的坐标小于600米的用户的位置。我想要的是只在折线的最近点画一个标记。某种程度上评估来自用户的<600的所有coord,然后选择最接近的。感谢任何帮助。

  • 我有两个日期字段: 开始日期和结束日期和临时日期。 我有一个列表,其中我在开始日期和结束日期之间返回了6条记录。我如何过滤记录并返回最接近临时日期的日期时间? 在示例记录中,我需要获得第二条记录,因为与临时日期相近。实例