可能重复:在 MySQL 中生成
整数序列 用 mysql
生成许多行
是否有一个(简单的)方法来创建一个返回 1 和 N 之间整数的 sql 请求?(就像python中的范围(n)。)
就像是 :
select i
FROM all_ints_values
where i >= 1 and i < N;
其中表all_ints_values
应包含所有整数值!
当然不可能创建这样的表。(即使 N 有限,我也不想这样做)
语境 :
我有一张销售表(按年份和月份)。我想按年份和月份检索销售额的总和。你可以通过group by
close 做到这一点:
select year,month, sum(money) from my_table group by year,month order by year,month
但是有了这个,我的列表中出现了“漏洞”(如果 2011 年 1 月没有销售),因此不适合制作图表。
使用生成器,我可以使用 OUTER JOIN 类似的东西:
select y.i,m.i, nvl(sum_money,0) LEFT OUTER JOIN mysummaryview ON y.year = year and m.month = month FROM (select int from 1990 to 2012) y , (select int from 1 to 12) m order by y.i,m.i