如何在SQL Server中使用随机记录集

今天的文章,我想给你简单介绍下SQL Server里如何随机记录集。

SELECT * FROM Person.Person
ORDER BY NEWID()
GO

这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作。

但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集。

在SQL Server里,简单但很强大的方法用来随机化你的记录集。

以上所述就是本文的全部内容,希望大家可以喜欢。

(0)

相关推荐

  • sqlserver中存储过程的递归调用示例

    递归式指代码片段调用自身的情况:危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身.也就是说提供递归检验来保证适当的时候可以跳出. 以阶层为例子说存储过程中递归的调用. 递归 CREATE PROC [dbo].[usp_spFactorial] @InputValue INT, @OuputValue INT OUTPUT AS BEGIN DECLARE @InValue INT; DECLARE @OutValue INT; IF(@InputValue!=1) BEGIN S

  • C#查询SqlServer数据库并返回单个值的方法

    本文实例讲述了C#查询SqlServer数据库并返回单个值的方法.分享给大家供大家参考.具体实现方法如下: static public string GetSqlAsString(string sqlText, SqlParameter[] sqlParameters, string databaseConnectionString) { string result = ""; SqlDataReader reader; SqlConnection connection = new S

  • C#中Cookie之存储对象

    本文通过代码详细给大家做讲解,具体内容如下: 做项目过程中,用户登陆之后,需要将用户的信息存到Cookie中,但因为Cookie中只能存储字符串,所以想到了先把用户实体序列化成Json串,存储在Cookie中,用到的时候再拿出来反序列化. 道理很简单,网上的例子也很多,但还是遇到一些小困难.下面与大家分享成果.(我的开发环境为VS2012,.net framework版本为4.0,) C#中Json与对象之间的互相转换 下载并引用Newtonsoft.Json.dll 定义一个简单的用户实体:

  • SqlServer备份数据库的4种方式介绍

    1.用sqlserver的维护计划 在这里我就不给截图演示了,这个比较简单,无非就是通过sqlserver自己的维护计划拖拽出2个一个'备份数据库'任务和一个'清除维护'任务. 需要注意的点: 1)有备份任务里边选择备份的库尽量选'所有用户数据库'这项,以免选择了特定数据库备份以后某天添加了新数据库却忘了勾选导致丢备份. 2)选项验证备份集完整性和压缩备份尽量都选上. 3)备份的路径尽量别选磁盘根目录. 2.通过脚本+作业的方式备份数据库(非xp_cmdshell).如果是多个库的话自己写个游标

  • 如何在SQL Server中使用随机记录集

    今天的文章,我想给你简单介绍下SQL Server里如何随机记录集. SELECT * FROM Person.Person ORDER BY NEWID() GO 这会引入新的UNIQUEIDENTIFIER数据类型列,SQL Server会在那列上进行物理排序操作. 但是在记录集里列本身没有返回,因为ORDER BY子句在查询SELECT部分逻辑后发生,因此也不会改变记录集. 在SQL Server里,简单但很强大的方法用来随机化你的记录集. 以上所述就是本文的全部内容,希望大家可以喜欢.

  • 如何在SQL Server中实现 Limit m,n 的功能

    在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,例如: 复制代码 代码如下: select * from tablename limit m, n 但是,在SQL Server中,不支持 Limit 语句.怎么办呢?解决方案:虽然SQL Server不支持 Limit ,但是它支持 TOP.我们以SQL Server 2005为例,就以它自带的示范数据库 AdventureWorks 作为测试数据: 复制代码 代码如下: select id from tablename

  • 如何在 SQL SERVER 中快速有条件删除海量数据

    最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用. 如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的

  • 在SQL Server中使用 Try Catch 处理异常的示例详解

    目录 如何在 SQL Server 中使用 Try Catch 处理错误? 示例:了解 SQL Server 中的 Try-Catch 实现. 在 SQL Server 中使用 try-catch 的示例 如何在 SQL Server 中使用 Try Catch 处理错误? 从 SQL Server 2005 开始,我们在TRY 和 CATCH块的帮助下提供了结构错误处理机制.使用TRY-CATCH的语法如下所示. BEGIN TRY --这里写可能导致错误的语句 END TRY BEGIN C

  • SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数.鉴于此,本文将对SQL Server中随机数的使用简单做个总结 . T-SQL 随机有关的三个函数 RAND([seed] 此函数生成从0到1之间随机 float 值(详细说明查看https://technet.microsoft.com/zh-cn/library/ms177610(v=sql.90).aspx). CHECKSUM ( * | expressio

  • 如何捕获和记录SQL Server中发生的死锁

    方法一:利用SQL Server代理(Alert+Job)具体步骤如下:1.首先使用下面的命令,将有关的跟踪标志启用.SQL code DBCC TRACEON (3605,1204,1222,-1)  说明:3605 将DBCC的结果输出到错误日志.1204 返回参与死锁的锁的资源和类型,以及受影响的当前命令.1222 返回参与死锁的锁的资源和类型,以及使用了不符合任何 XSD 架构的 XML 格式的受影响的当前命令(比1204更进一步,SQL 2005及以上可用).-1 以全局方式打开指定的

  • Sql Server中清空所有数据表中的记录

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 复制代码 代码如下: exec sp_msforeachtable  @Command1 ='truncate table ?' 删除所有数据表: 复制代码 代码如下: exec sp_msforeachtable 'delete   N''?''' 清空SQL Server数据库中所有表数据的方法(有约束的情况) 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之

  • SQL Server 中 RAISERROR 的用法详细介绍

    SQL Server 中 RAISERROR 的用法 raiserror 的作用: raiserror 是用于抛出一个错误.[ 以下资料来源于sql server 2005的帮助 ] 其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,argument [ ,...n ] ] ) [ WITH option [ ,...n ] ] 简要说明一下: 第一个参数:{ msg_id | ms

  • sql server中随机函数NewID()和Rand()

    在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符. SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出10条记录 示例 A.对变量使用 NEWID 函数 以下示例使用 NEWID

  • SQL Server中identity(自增)的用法详解

    一.identity的基本用法 1.含义 identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,否则编译时会报错 2.语法 列名 数据类型 约束 identity(m,n) m表示的是初始值,n表示的是每次自动增加的值 如果m和n的值都没有指定,默认为(1,1) 要么同时指定m和n的值,要么m和n都不指定,不能只写其中一个值,不然会出错 3.实例演示 不指定m和n的值 create table student1 ( sid int p

随机推荐