星空网 > 软件开发 > 数据库

生成序列的方法

有时候我们在做一些查询的时候,需要生成一个多少行的序列表。这里分享两种方法去生成

方法一,借用一些已有表,直接排个序,比如

SELECT TOP 100 ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS RowNr  FROM sys.objects a 

如果长度够的就一个表就够了,如果行数比较大,生成10万行,100万行左右的,再做一次笛卡尔积就可以了。

方法二,借用05开始有的CTE功能来生成

;WITH CTE AS(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS RowNrUNION ALLSELECT RowNr+1 FROM CTE   WHERE CTE.RowNr < 10)SELECT TOP 100 ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS RowNr  FROM CTE a ,CTE b

比较起来的话,效率肯定是方法二比较高,因为不需要读表,都在内存里面运算,不产生IO。而且行数多的话,也是多做几次笛卡尔积就可以,控制也比较方便~所以我比较推荐方法二

 




原标题:生成序列的方法

关键词:序列

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

创源国际货运:https://www.goluckyvip.com/tag/100697.html
国际快递寄件:https://www.goluckyvip.com/tag/100698.html
国际快递 新加坡:https://www.goluckyvip.com/tag/100699.html
社群营销:https://www.goluckyvip.com/tag/1007.html
landing:https://www.goluckyvip.com/tag/10070.html
ems国际邮寄价格:https://www.goluckyvip.com/tag/100700.html
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
深圳有没有比较好玩的景点 深圳有没有比较好玩的景点推荐一下:https://www.vstour.cn/a/366175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流