2014-09-24 102 views
0

我是MySQL的新手,我试图为表中的每个月份和每一年选择一行。 我正在制作一个博客网站,需要回复出月份,以便人们可以按特定的每个月份来获取当月写入的所有博客文章。每月选择一行mysql

这是我开始的,但它不工作的权利。

$query = "SELECT * FROM messages 
        WHERE date in 
        (select DISTINCT max(date) from messages 
        GROUP BY YEAR(date), MONTH(date))"; 

感谢

回答

2

无需子查询:

SELECT MONTH(date), YEAR(date) 
FROM messages 
GROUP BY MONTH(date), YEAR(date) 

这会给你拥有你的表中列出的消息每年/月组合。

然后你就可以在以后拉起消息与

SELECT * 
FROM messages 
WHERE MONTH(date) = $selected_month AND YEAR(date) = $selected_year