MySQL选择最后六个飞蛾,然后是最后几年

时间:2015-05-22 16:33:12

标签: php mysql date select

我有一个我正在处理的博客页面的MySQL数据库。我需要一些帮助来实现我想到的存档菜单。

数据库有一个标题为" Date"作为时间戳格式。我想选择发表文章的最后六个月。我的问题是,如何从"日期"中选择最后六个条目。列,具有不同的月份值。查询应该忽略日期和时间,只有月份才重要。

我有一个想法,就是在数据库中添加另一列,只存储年份和月份值。其中我可以做到"选择与#34; MonthYear"限制6;你同意这个有效吗?

在我选择这些月之后,对于所有旧文章,我想多年来一直这样做。我如何选择发布文章的所有年份,除了前一个月选择所涵盖的年份?

很抱歉,如果这个问题有点令人困惑,我希望你能理解它并帮助我。

2 个答案:

答案 0 :(得分:-1)

您可以使用ROW_NUMBER来实现此目标。

SELECT ROW_NUMBER() OVER(PARTITION BY Month(Date) ORDER BY Month(Date) DESC) AS ArticleOrder
,ArticleID
, etc
FROM YourTable

答案 1 :(得分:-1)

查询几个月。以“年 - 月”格式返回。

SELECT DATE_FORMAT(`Date`,'%Y-%m') m FROM `table` GROUP BY m ORDER BY m DESC LIMIT 6