【问题标题】:Select items from database from specific year using timestamp使用时间戳从特定年份的数据库中选择项目
【发布时间】:2017-10-01 21:16:25
【问题描述】:

我试图弄清楚如何选择具有 2017 年时间戳的所有项目。我有一个数据库列,其中包含项目发布时间的时间戳,它看起来像“1506888905”。我想知道我必须对下面的代码做些什么才能让它只选择带有 X 年时间戳的项目。 (2016 年、2017 年等)

SELECT * FROM my_db_table ORDER BY my_views_column DESC LIMIT 50;

上面的代码是我用来获取观看次数最多的第一个项目的代码。现在,如果我的时间戳列名为 my_timestamp_column,我将如何仅从特定年份中选择项目。

我在这里也遇到了另一个类似的问题,建议使用下面的代码。但是我尝试过没有运气,所以我想我做错了什么。

SELECT * FROM my_db_table WHERE my_timestamp_column >= DATE_SUB(NOW(),INTERVAL 1 YEAR) ORDER BY my_views_column DESC LIMIT 50;

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: php mysql unix-timestamp


    【解决方案1】:

    你可能会做这样的事情:

    SELECT * FROM my_db_table WHERE YEAR(FROM_UNIXTIME(my_timestamp_column)) = 2017 ORDER by my_views_column DESC LIMIT 50;
    

    FROM_UNIXTIME 会将您的时间戳转换为“人类可读”日期,YEAR 将从中提取年份。

    【讨论】:

    • 这似乎对我有用,我将不得不等待,看看是否出现任何问题。谢谢!
    【解决方案2】:

    或者,你可以使用中间:

    SELECT * FROM my_db_Table WHERE my_timestamp_column BETWEEN "2017-01-01 00:00:01" AND "2017-12-31 23:59:59"; 
    

    奥莱·克里斯蒂安·埃克·霍恩斯

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2015-04-03
      • 1970-01-01
      相关资源
      最近更新 更多