使用时间戳从数据库中选择特定年份的项目

Select items from database from specific year using timestamp

提问人:Born2DoubleUp 提问时间:10/2/2017 更新时间:10/2/2017 访问量:44

问:

我试图弄清楚如何选择所有带有 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-时间戳

评论


答:

1赞 Mindastic 10/2/2017 #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

评论

0赞 Born2DoubleUp 10/2/2017
这似乎已经完成了我的工作,我将不得不等待,看看是否出现任何问题。谢谢!
0赞 olekeh 10/2/2017 #2

或者,您可以使用以下两者:

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

HTH

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