如何获取开始年和结束年的年份列表

时间:2019-11-18 23:26:24

标签: mysql

我有一个带有以下内容的mysql表:

id --- name --- start_year --- end_year

1 --- george --- 2005 --- 2009

如何使用mysql查询从这一年到以下年份的年份:

2005
2006
2007
2008
2009

1 个答案:

答案 0 :(得分:1)

使用您喜欢的任何答案in here,生成一个数字列表,例如1000到4000

这样做的时候

SELECT * FROM rowgen 

您应该看到一个数字列表:

num
1000
1001
1002
...
3999
4000

或者您的日期可以接受的任何范围。也许2000年到2050年就可以了。无论如何...然后,您只需将列表加入表ON rowgen.num BETWEEN start_year AND end_year

SELECT *
FROM
  yourtable t
  INNER JOIN
  rowgen r
  ON r.num BETWEEN t.start_year AND t.end_year

您将获得:

1, George, 2005, 2009, 2005
1, George, 2005, 2009, 2006
1, George, 2005, 2009, 2007
1, George, 2005, 2009, 2008
1, George, 2005, 2009, 2009

最后一列是生成的行号