博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLServer随机取记录
阅读量:6914 次
发布时间:2019-06-27

本文共 505 字,大约阅读时间需要 1 分钟。

SQLServer本身并没有提供随机读取记录的功能,但我们可以通过一些方法来实现这个目的。本文介绍了其中几种方法并比较了各自的优劣。

 

方法一:

直接通过Sql语句实现,如:

SELECT TOP 100 * FROM BCUSTOMER_MZN SELECT TOP 100 * FROM BCUSTOMER_MZN  ORDER BY NEWID()

这是最简单的方法,通过调用SqlServer的newid()函数(产生GUID—全局唯一标志符)来产生随机记录。

采用这种方法时,需要将表中所有记录与newid()生成的值进行比较从而进行排序。因此,如果表中的记录较多,操作会非常缓慢。

 

方法二:

假设表中有一个自增长主键,增量为1。这时我们可以这样处理,取出主键的边界值(最大值和最小值),然后通过一个算法得到介于(包括)两个边界之间的随机值,最后按照这个值取出对应记录。

 

方法三:

对方法二进行了改进。主要思路是,将表中所有的主键值读进一个数组,从数组中随机读出一个值,按照这个值取出对应记录。

转载于:https://www.cnblogs.com/qianjinyan/p/9776728.html

你可能感兴趣的文章
协程基础_context系列函数
查看>>
排序算法总结之折半插入排序
查看>>
Simple calculations
查看>>
python list的+,+=,append,extend
查看>>
MySQL架构组成之逻辑模块组成
查看>>
DuiVision开发教程(19)-菜单
查看>>
Spark Streaming中的操作函数讲解
查看>>
长尾理论,长尾示意图,读书笔记
查看>>
Testing Is the Engineering Rigor of Software Development
查看>>
01、Spar内核架构原理
查看>>
多协议注入工具t50
查看>>
string类型版本号比较
查看>>
Linux动态库生成与使用指南
查看>>
STM32进入HardFault_Handler处理办法
查看>>
tensorflow笔记:多层LSTM代码分析
查看>>
深入理解javascript函数进阶系列第三篇——函数节流和函数防抖
查看>>
【Spark】SparkStreaming-如何使用checkpoint
查看>>
Django REST framework+Vue 打造生鲜超市(四)
查看>>
maven工程的多环境配置方案(profile)
查看>>
react 使用 moment 进行 日期格式化
查看>>