首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql中选择年份(分页)

问从mysql中选择年份(分页)
EN

Stack Overflow用户
提问于 2012-04-01 01:55:02
回答 4查看 508关注 0票数 0

我有一个mysql表,其中包含从2006年到现在(和正在进行)的记录,所有记录都带有日期时间戳

只提取所有年份并为每一年(动态)创建分页链接的最聪明/最简单的方法是什么?像这样: 2006 2007 2008 2009 2010 2011 2012

这是不是太笨拙了,使用了太多的资源来完成这个简单的任务?:

代码语言:javascript
复制
@mysql_query("SELECT YEAR(date) AS yearonly FROM table GROUP BY yearonly");
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-01 01:57:37

我认为你的解决方案是可以的。

使用select distinct是另一种可能性

代码语言:javascript
复制
SELECT DISTINCT YEAR(date) AS yearonly FROM table
票数 3
EN

Stack Overflow用户

发布于 2012-04-01 01:57:27

更简单的方法可以是:

您可以使用group_concat()一次性获取所有内容

代码语言:javascript
复制
SELECT group_concat(YEAR(date),SEPARATOR '') AS years FROM table GROUP BY YEAR(date)

或

代码语言:javascript
复制
SELECT distinct YEAR(date,4) AS yearonly FROM table

或

代码语言:javascript
复制
SELECT distinct  LEFT(date,4) AS yearonly FROM table
票数 1
EN

Stack Overflow用户

发布于 2012-04-01 02:03:08

这是正确的答案,但不要忘记只按年排序。

为了获得最佳性能,如果您有大型数据集,请在date列上创建索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9958268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档