我有一个mysql表,其中包含从2006年到现在(和正在进行)的记录,所有记录都带有日期时间戳
只提取所有年份并为每一年(动态)创建分页链接的最聪明/最简单的方法是什么?像这样: 2006 2007 2008 2009 2010 2011 2012
这是不是太笨拙了,使用了太多的资源来完成这个简单的任务?:
@mysql_query("SELECT YEAR(date) AS yearonly FROM table GROUP BY yearonly");发布于 2012-04-01 01:57:37
我认为你的解决方案是可以的。
使用select distinct是另一种可能性
SELECT DISTINCT YEAR(date) AS yearonly FROM table发布于 2012-04-01 01:57:27
更简单的方法可以是:
您可以使用group_concat()一次性获取所有内容
SELECT group_concat(YEAR(date),SEPARATOR '') AS years FROM table GROUP BY YEAR(date)或
SELECT distinct YEAR(date,4) AS yearonly FROM table或
SELECT distinct LEFT(date,4) AS yearonly FROM table发布于 2012-04-01 02:03:08
这是正确的答案,但不要忘记只按年排序。
为了获得最佳性能,如果您有大型数据集,请在date列上创建索引。
https://stackoverflow.com/questions/9958268
复制相似问题