关于ORDER BY NEWID(),我是这么理解的:
NEWID()是一个产生随即uniqueidentifier的函数,对于ORDER BY子句来说,如果后面接的是一个常量字符串,那么每次排序的顺序都是一样的,如果后面接的是变量,那么每次排序的结果有可能不同,注意了,是有可能不同,也就是说还有可能相同的情况。举个例子:
SELECT * FROM Users ORDER BY money DESC,NEWID()

要想每次排序都不同的话,那么NEWID()必须是紧跟在ORDER BY子句后面的。例如:
SELECT * FROM Users ORDER BY NEWID(),money DESC
其实money已经不起作用了。

对于排序的原理,我是这么理解的,不知是否正确,请大家批评:

每个数据库和操作系统对于字符编码的排列顺序是有可能不同的,这就对ORDER BY的排序结果产生了影响。
依据ORDER BY的排序条件,对字段里的值进行一一比较排序,形成最终的结果集。

由于NEWID()每次生成的值都不一样,也就是形成了每次结果集里的记录排列顺序都是不同的。

转载于:https://www.cnblogs.com/ProgRamMer-cSdn/archive/2008/10/13/1309870.html

ORDER BY NEWID()【原创】相关推荐

  1. mysql 随机记录 newid(),order by newid() 各种数据库随机查询的方法

    这篇文章主要为大家详细介绍了order by newid() 各种数据库随机查询的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! SQL S ...

  2. mysql order by newid_order by newid() 随机查询

    在日常作业中,有时候可能是一些活动要抽出得奖人或选出抽查的一些名单,就常常会使用到Order BY Newid() 的方式来做随机数选出,但有可能的状况需是要搭配到DISTINCT 来选出,这时候如D ...

  3. sql随机查询数据语句(NewID(),Rnd,Rand(),random())

    SQL Server: 代码如下 复制代码 Select TOP N * From TABLE Order By NewID() NewID()函数将创建一个 uniqueidentifier 类型的 ...

  4. sqlserver2000分页存储过程(原创)

    刚刚用了博客园,感觉这里的气氛真的很好,发布这几天写的一个分页存储过程,请dudu多多关照,请各位大牛指正. 功能:海量优化,支持任何字段排序,可支持随机取数据,导出所有数据功能,用了id(整型)比较 ...

  5. mysql 有newid()_sql newid()随机函数

    编辑器加载中...从A表随机取10条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是u ...

  6. mysql单列去重复group by分组取每组前几条记录加order by排序

    <div class="post"><h1 class="postTitle"><a id="cb_post_title ...

  7. order by居然不能直接在union子句中使用

    order by居然不能直接在union子句中使用 今天一个群中的兄弟问一个问题,说有一个表,表中有很多数据,其中有个字段type,希望从表中随机取出10条记录,其中有5条type=1另外5条type ...

  8. SQL进阶提升(疑惑篇order by)-学习sql server2005 step by step(十一)

    这篇主要发出两个疑惑,希望有兴趣的人解答,谢谢! 1.newid()疑惑 1 create table tb (aa int,bb char(1)) 2 insert tb values(1,'A') ...

  9. php为什么查询语句加上order by就显示不出来,sql会查出结果 php页面偶尔显示空白 没有从sql得到结果...

    sql能查出结果 php页面偶尔显示空白 没有从sql得到结果 大神们问个问题啊 sql能查出结果 php页面偶尔显示空白 没有从sql得到结果 但是在数据库里直接执行过程一直都有数据返回 set n ...

最新文章

  1. 如何创建自己的ESLint配置包
  2. R语言White’s检验实战:检验回归模型中是否存在异方差性(heteroscedasticity)、发生了异常差(heteroscedasticity)问题如何解决
  3. 18. 编写FTP客户端程序
  4. 3.1.2 操作系统内存管理管些什么?
  5. Centos7之Gcc安装
  6. Android 蓝牙操作--读取远程已配对的蓝牙设备
  7. SAP ABAP的权限检查跟踪(Authorization trace)工具使用步骤介绍
  8. oracle11g重建undo,Oracle11gORA-03113故障,重建控制文件
  9. 掘金 Markdown 语法手册
  10. 计算机网络之网络层服务和网络层服务模型
  11. Unity安卓端重启游戏
  12. hprose php用户手册,Laravel Hprose RPC 服务
  13. 鸟哥的linux私房菜 第五章
  14. json发送数据加密方法_发送加密的电子邮件和安全邮件的最佳免费方法
  15. 欧几里得算法(求解最大公约数的优质方法)以及原理拓展
  16. 帝都机器人便利店_我把北京80%的便利店吃了个遍!吐血整理出这份帝都便利店大攻略!...
  17. 如何使用Win10自带的录屏功能以及如何查找到视频存放的位置
  18. java hypot_Java StrictMath hypot()用法及代碼示例
  19. 武汉市企业研究开发中心备案
  20. 安卓逆向so篇(一):so文件调用

热门文章

  1. OpenCV copyMakeBorder()来拓展边界
  2. ubuntu 查看进程信息
  3. android 动态修改菜单,如何在Android的“选项”菜单上更改MenuItem?
  4. 35 岁 学python 必要_程序员:Python学不学?完全没必要纠结
  5. vue导入html登陆页,Vue 实现 登陆后打开主页面(登陆组件 + 主页面组件)
  6. 在VC中使用MATLAB C++函数库
  7. 更改matlab默认启动路径
  8. linux常用网络命令详解,linux网络命令详解(鸟哥)
  9. mysql 超长记录_谁记录了mysql error log中的超长信息(记pt-stalk一个bug的定位过程)...
  10. mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法