关于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. 使用分页插件的后悔药(二)
  2. 1.6 为什么使用向上转型而不直接创建子类对象?
  3. web.xml中web-app标签报错
  4. 2020牛客多校2 - Exclusive OR(FWT)
  5. RabbitMQ播放模块! 构架
  6. php 远程下载大文件,php下载远程文件(支持断点续传,支持超大文件)
  7. CSS样式重叠,前端显示的效果
  8. 你身边有没有白天上班,晚上打零工送外卖、跑滴滴、做代驾的朋友?你怎么看?
  9. 19.Virtual Type
  10. gin框架-1请求参数的示例:
  11. Linux Regmap分析
  12. HTTP Live Streaming基础知识
  13. CSDN实训 - 个人博客界面制作
  14. Mongodb主从模式SECONDARY提升为PRIMARY
  15. 宏基d260linux系统,千呼万唤始出来 宏碁D260新本仅售2499
  16. post入门篇:请求头/响应头、cookie、URL结构/编码、数据编码、winHttpRequest、post分析技巧、伪装IP
  17. sqlite程序实现
  18. pythontrycatch所有异常状态_python 一篇搞定所有的异常处理
  19. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究
  20. 计算机课授课方法有哪些,计算机课程教学模式与方法

热门文章

  1. Windows服务编写
  2. linux mysql 写shell_Linux—编写shell脚本操作数据库执行sql
  3. 串口 驱动 热敏打印机_热敏纸标签打印不出来文字 是因为……
  4. display函数怎么使用_使用网络构建复杂布局超实用的技巧,赶紧收藏吧
  5. 以OpenCV为例配置VS第三方库
  6. MATLAB里面的filter和filtfilt的C语言源代码
  7. Python实战应用-Clumper库函数全解析
  8. 少儿编程150讲轻松学Scratch(十二)-用Scratch制作石头剪子布游戏
  9. 快速排序 数组 函数 c语言,书上快速排序程序中子函数是怎样更改数组的?理论上不可实现啊...
  10. Myesclipe+SSH+jsp+mysql+tomcate实现一个简单的CRM客户关系管理系统