提问人:Born2DoubleUp 提问时间:10/2/2017 更新时间:10/2/2017 访问量:44
使用时间戳从数据库中选择特定年份的项目
Select items from database from specific year using timestamp
问:
我试图弄清楚如何选择所有带有 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;
任何帮助将不胜感激。谢谢!
答:
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
奥莱·克里斯蒂安·埃克·霍恩内斯
评论