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
等等。
猜测它可以通过循环实现但不确定什么是实现这一目标的更好方法。
答案 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
现在显示记录时,请将其显示为您的愿望。
只是爆炸逗号分隔的已创建字段,只显示前三条记录,然后就完成了。