栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL SELECT获取前N个正整数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL SELECT获取前N个正整数

似乎您想要的是一个

dummy rowset

在中

MySQL
,没有表是不可能的。

大多数主要系统都提供了一种实现方法:

  • Oracle

    SELECt  level

    FROM dual
    ConNECT BY
    level <= 10

  • SQL Server

    WITH    q AS    (    SELECt  1 AS num    UNIOn ALL    SELECT  num + 1    FROM    q    WHERe   num < 10    )

    SELECt *FROM q

  • PostgreSQL

    SELECt  num

    FROM generate_series(1, 10) num

MySQL
缺少这样的东西,这是一个严重的缺点。

我写了一个简单的脚本来为博客文章中的示例表生成测试数据,也许会有用:

CREATE TABLE filler (        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT) ENGINE=Memory;CREATE PROCEDURE prc_filler(cnt INT)BEGIN        DECLARE _cnt INT;        SET _cnt = 1;        WHILE _cnt <= cnt DO     INSERT     INTO    filler     SELECT  _cnt;     SET _cnt = _cnt + 1;        END WHILE;END$$

您调用该过程,表格将被数字填充。

您可以在会话期间重用它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号