我创建了一种博客引擎,根据时间戳将帖子分类为月 - 年类别。我使用以下查询:
SELECT MONTHNAME( post_time ) AS
month , YEAR( post_time ) AS year
FROM blog_posts
GROUP BY year,
month
ORDER BY post_time DESC
LIMIT 0 , 10
返回最新的十个帖子类别,如下所示:
December 2010
November 2010
...
etc
我的问题是如何创建查询以获取较旧/较新的类别?
如果我有像* category_id这样的列*我可以轻松地使用LIMIT, 但是,就像我所拥有的月份和年份一样,我被困住了。
非常感谢,这对我来说是个谜。
答案 0 :(得分:1)
我的问题是如何创建查询以获取较旧/较新的类别?
此查询:
SELECT MONTHNAME(post_time) AS month, YEAR(post_time) AS year
FROM blog_posts
GROUP BY
year, month
ORDER BY
post_time DESC
LIMIT 0, 10
按月和年分组,以及每个月和每年随机发布的时间顺序。
由于这些随机帖子的顺序与月份和年份的顺序相对应,因此您的类别将以正确的顺序排出(从最近到早期)。
<强>更新强>
要在10
之前显示June 2010
类别:
SELECT MONTHNAME(post_time) AS month, YEAR(post_time) AS year
FROM blog_posts
WHERE post_time < '2010-06-01'
GROUP BY
year, month
ORDER BY
post_time DESC
LIMIT 0, 10
答案 1 :(得分:0)
如果blog_posts有category_id
SELECT MONTHNAME( post_time ) AS
month , YEAR( post_time ) AS year
FROM blog_posts
GROUP BY year,
month
ORDER BY category_id DESC
LIMIT 0 , 10