几年前我也遇到过类似的问题。我的解决方案是:
1.顺序表
CREATE TABLE numbers (n INT);INSERT INTO numbers VALUES (0),(1),(2),(3),(4);INSERT INTO numbers SELECt n+5 FROM numbers;INSERT INTO numbers SELECt n+10 FROM numbers;INSERT INTO numbers SELECt n+20 FROM numbers;INSERT INTO numbers SELECt n+40 FROM numbers;etc.
它仅执行一次,因此可以从您的应用程序外部创建,甚至可以手动创建。
2.选择所需类型和范围的数据
对于整数,这很明显-即范围1..99:
SELECt n FROM numbers WHERe n BETWEEN 1 AND 99;
日期-从现在到+2天,间隔2小时:
SELECt date_add(now(),INTERVAL 2*n HOUR) FROM numbers WHERe n BETWEEN 0 AND 23;
因此,在您的情况下,可能是:
SELECt n+1900 AS n_year FROM numbers WHERe n BETWEEN 0 AND 112;
然后
JOIN就可以了
n_year。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)