如何获得每年每月最新的3条记录?

时间:2012-12-05 05:26:28

标签: php mysql

mysql中是否有一个查询可以获取每年每月最新的3条记录?或者它应该通过循环来完成?

YEAR 2011

january 

Record 1
Record 2
Record 3

May 

Record 1
Record 2
Record 3

September 

Record 1
Record 2
Record 3

YEAR 2012

August 

Record 1
Record 2
Record 3

Nov 

Record 1
Record 2
Record 3

Dec 

Record 1
Record 2
Record 3

等等。

猜测它可以通过循环实现但不确定什么是实现这一目标的更好方法。

1 个答案:

答案 0 :(得分:1)

尝试使用一些示例应用程序。 记住我这样做了,所以你可以根据自己的意愿使用命名约定。

首先创建数据库表,如下所示。 我把这张桌子命名为“三个月”


id auto_increament,
title varchar 255,
created date

标题只是为了确保非重复结果,

现在创建一个php文件并建立数据库连接。

现在在该页面内的查询下面复制粘贴。


SELECT YEAR(created) as stat_year,
       MONTH(created) as stat_month,
       COUNT(*) as stat_count,
       title,
       GROUP_CONCAT(created) as FinalResult,
       id
FROM
      `threemonth`
GROUP BY stat_year,stat_month
ORDER BY created DESC

上面的查询将会显示如下内容。


stat_year = 2012
stat_month = 12
stat_count = 2
FinalResult = comma separated date listing becaue of concating result.
title and id  

现在显示记录时,请将其显示为您的愿望。

只是爆炸逗号分隔的已创建字段,只显示前三条记录,然后就完成了。