使用一个mysql表中的单数日期选择年份范围

时间:2016-09-09 02:38:51

标签: mysql

我想创建一个在特定日期之后选择年份的SQL查询。

基本上我有一张桌子,上面有一个人注册的日期。我想要从注册日期到今天的所有日期(以年为单位)。

实施例: 2013年3月31日注册的人

今天的日期是2016年9月9日

因此SQL查询将返回  2013年,2014年,2015年和2016年

我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以非常轻松地使用数字创建派生表。然后你可以这样做:

select year(t.date) + n.n
from (select 0 as n union all select 1 union all select 2 union all
      select 3 union all select 4 union all select 5
     ) n join
     t
     on t.date >= date_sub(curdate(), interval n.n year);

当然,如果您的数据时间过长,您可能需要扩展派生表。