Select 数据库中使用时间戳的特定年份的项目
Select items from database from specific year using timestamp
我试图弄清楚如何 select 所有具有 2017 年时间戳的项目。我有一个数据库列,其中包含项目发布时间的时间戳,它看起来像这样“1506888905”。我想知道我必须对下面的代码做些什么才能让它 select 只有带有 X 年时间戳的项目。 (2016 年、2017 年等)
SELECT * FROM my_db_table ORDER BY my_views_column DESC LIMIT 50;
上面的代码是我用来获取浏览量最高的第一个项目的代码。现在,如果我的时间戳列被命名为 my_timestamp_column.
,我将如何处理仅来自特定年份的项目 select
我在这里也遇到过另一个类似的问题,建议使用下面的代码。但是我已经尝试过了,但没有成功,所以我想我做错了什么。
SELECT * FROM my_db_table WHERE my_timestamp_column >= DATE_SUB(NOW(),INTERVAL 1 YEAR) ORDER BY my_views_column DESC LIMIT 50;
如有任何帮助,我们将不胜感激。谢谢!
你可能会这样做:
SELECT * FROM my_db_table WHERE YEAR(FROM_UNIXTIME(my_timestamp_column)) = 2017 ORDER by my_views_column DESC LIMIT 50;
FROM_UNIXTIME
会将您的时间戳转换为 "Human Readable" 日期,YEAR
将从中提取年份。
或者,您可以使用介于:
SELECT * FROM my_db_Table WHERE my_timestamp_column BETWEEN "2017-01-01 00:00:01" AND "2017-12-31 23:59:59";
hth
Ole Kristian Ek Hornnes
我试图弄清楚如何 select 所有具有 2017 年时间戳的项目。我有一个数据库列,其中包含项目发布时间的时间戳,它看起来像这样“1506888905”。我想知道我必须对下面的代码做些什么才能让它 select 只有带有 X 年时间戳的项目。 (2016 年、2017 年等)
SELECT * FROM my_db_table ORDER BY my_views_column DESC LIMIT 50;
上面的代码是我用来获取浏览量最高的第一个项目的代码。现在,如果我的时间戳列被命名为 my_timestamp_column.
,我将如何处理仅来自特定年份的项目 select我在这里也遇到过另一个类似的问题,建议使用下面的代码。但是我已经尝试过了,但没有成功,所以我想我做错了什么。
SELECT * FROM my_db_table WHERE my_timestamp_column >= DATE_SUB(NOW(),INTERVAL 1 YEAR) ORDER BY my_views_column DESC LIMIT 50;
如有任何帮助,我们将不胜感激。谢谢!
你可能会这样做:
SELECT * FROM my_db_table WHERE YEAR(FROM_UNIXTIME(my_timestamp_column)) = 2017 ORDER by my_views_column DESC LIMIT 50;
FROM_UNIXTIME
会将您的时间戳转换为 "Human Readable" 日期,YEAR
将从中提取年份。
或者,您可以使用介于:
SELECT * FROM my_db_Table WHERE my_timestamp_column BETWEEN "2017-01-01 00:00:01" AND "2017-12-31 23:59:59";
hth
Ole Kristian Ek Hornnes