2016-02-29 76 views
1

是否可以在SQL中选择数值序列或日期序列?如创建一个表N行像1到10:是否有可能创建一个选择在MySQL系列?

1 
2 
3 
... 
10 

2010-01-01 
2010-02-01 
... 
2010-12-01 
+0

是的,这是可能的,例如使用临时表和循环,像这里http://stackoverflow.com/questions/5125096/for-loop-example-in-mysql –

+0

不创建一个新表,但只是选择作​​为另一个查询的帮手 –

+0

这是可能的,但通常不是必需的。 – Strawberry

回答

1

如果安装common_schema,您可以使用numbers表可以轻松地创建查询来输出那些类型的范围。

例如,这两个查询时会产生输出从你的例子:

select n 
from common_schema.numbers 
where n between 1 and 10 
order by n 

select ('2010-01-01' + interval n month) 
from common_schema.numbers 
where n between 0 and 11 
order by n 
-1

没错! MySQL和Microsoft SQL Server(以及其他)都有一个BETWEEN运算符。如果它是包容性或排他性的,我不记得我的头顶,但这是一个起点!

http://www.w3schools.com/sql/sql_between.asp

+0

“之间”运算符就像一个“>”和“<”运算符,它不会生成一个带有范围的表。 –

1

的SQL解决方案:

SELECT * 
FROM (
    SELECT 1 as id 
    UNION SELECT 2 
    UNION SELECT 3 
    UNION SELECT 4 
    UNION SELECT 5 
) 
+0

似乎是一个很好的解决方案。 ! –

相关问题