是否有可能创建一个选择在MySQL系列?
问题描述:
是否可以在SQL中选择数值序列或日期序列?如创建一个表N行像1到10:是否有可能创建一个选择在MySQL系列?
1
2
3
...
10
或
2010-01-01
2010-02-01
...
2010-12-01
答
如果安装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
答
没错! MySQL和Microsoft SQL Server(以及其他)都有一个BETWEEN运算符。如果它是包容性或排他性的,我不记得我的头顶,但这是一个起点!
+0
“之间”运算符就像一个“>”和“
答
的SQL解决方案:
SELECT *
FROM (
SELECT 1 as id
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
)
+0
似乎是一个很好的解决方案。 ! –
是的,这是可能的,例如使用临时表和循环,像这里http://stackoverflow.com/questions/5125096/for-loop-example-in-mysql –
不创建一个新表,但只是选择作为另一个查询的帮手 –
这是可能的,但通常不是必需的。 – Strawberry