`

SQL中随机选取行

阅读更多
Mssql : SELECT TOP 10 OrderID, NewID() as Random FROM Orders ORDER BY Random 

关键在于NewID()这个函数,他生成一个随机数。

随机提取10条记录的例子:
SQL Server:Select Top 10 * From 表 Order By NewID()

Access:

            Random rnd = new Random(unchecked((int)DateTime.Now.Ticks));
            int intRandomNumber = rnd.Next();

            Select Top 10 * From 表 Order By Rnd(" + (-1 * intRandomNumber) + "*id)

MySql:Select * From 表 Order By Rand() Limit 10

oracle: Order By dbms_random.value;
1。Order By dbms_random.value ,为结果集的每一行计算一个随机数,dbms_random.value 是结果集的一个列(虽然这个列并不在select list 中),然后根据该列排序,得到的顺序自然就是随机的啦。
2。看看desc信息便知道vlue和random这两个函数的区别了,value返回的是number类型,并且返回的值介于1和0之间,而random返回的是BINARY_INTEGER类型(以二进制形式存储的数字,据说运算的效率高于number但我没测试过,但取值范围肯定小于number,具体限制得查资料了)
如果你要实现随机排序,还是用value函数吧


分享到:
评论

相关推荐

    SQL 随机抽取数据

    这段代码会从`ywle`表中随机选取10条记录返回。 ##### 2. 结合WHERE条件进行筛选 如果需要在满足特定条件的基础上再进行随机抽取,可以在`WHERE`子句中添加相应的筛选条件。例如,想要从`ywle`表中抽取`ywlename`...

    SQL 更新指定范围的随机时间

    在SQL中,更新指定范围内的随机时间是一项常见的需求,特别是在数据模拟、测试或者数据分析场景中。这个任务通常涉及创建或修改数据库记录,使得某个时间字段(例如:`created_at`或`updated_at`)具有在特定时间段...

    ms sql语句怎么样对随机记录进行排序

    内部查询(即括号内的部分)首先从`l_product`表中随机选取100条记录。这里使用了`TOP 100`子句限制返回的记录数量,并且通过`ORDER BY NEWID()`确保这些记录的顺序是随机的。由于`NEWID()`函数每次执行都会生成不同...

    如何从SQL Server表中选择随机行

    在SQL Server数据库管理中,有时候我们需要从一个大型表中选取一部分数据进行测试、演示或分析,而这些数据并不需要是连续的或者特定顺序的,此时选取随机行就显得尤为重要。"如何从SQL Server表中选择随机行"这个...

    SQL考试随机组卷改卷系统的设计和实现.pdf

    系统的工作流程大致如下:首先,组卷程序根据难度分布从题库中随机选取题目,生成一份试卷;然后,学生在SQL Server 2000环境下执行SQL查询并保存结果;最后,改卷程序读取学生的SQL文件,模拟执行并在数据库环境中...

    SQL 随机查询 包括(sqlserver,mysql,access等)

    在SQL Server中,我们可以使用`TOP`子句结合`ORDER BY`和`NEWID()`函数来随机选取记录。`NEWID()`函数会生成一个全局唯一的标识符(GUID),并按照这个随机生成的值对记录进行排序,从而达到随机选取的效果。例如,...

    在ASP_NET中利用SQL函数完成在线考试系统的随机抽题功能

    但这些方法生成的随机数并不能直接应用于从数据库中随机选取指定数目的不同行(试题),因此需要编写较复杂的SQL语句来实现此功能。 为了解决这一问题,我们可以利用SQL Server中的newid()函数。这个函数可以产生一...

    一种基于SQL的元组集随机抽取算法.pdf

    在某些应用场景中,例如在线考试系统、计算机自动出题、座号安排等,需要从题库数据库中随机选取试题,这就要求算法能够高效地生成不重复的随机数序列来访问记录集合。 传统的做法通常涉及确定记录总数,设置随机数...

    sql基本语句30条

    **解释**:这些语句分别用于在Access、SQL Server和MySQL中随机选取前n条记录。 ### 8. 查询超过五分钟未完成的任务 **语法示例**: ```sql SELECT * FROM <table_name> WHERE DATEDIFF(MINUTE, start_time, ...

    sql 语句大全sql教程

    本教程将深入探讨SQL语句的一些关键用法,包括条件逻辑、随机选取记录、按子串排序、处理空值以及根据数据项的键排序。 1. **条件逻辑**:在SQL查询中,`CASE`语句允许我们根据条件返回不同的值。在示例中,`CASE ...

    随机显示SQL Server网络数据.pdf

    例如SELECT * FROM Orders TABLESAMPLE (20 ROWS),该语句使用SYSTEM抽样方法随机选取20行数据,适合大规模数据库。 - 当数据库记录数量不足时,原始TABLESAMPLE查询可能不会返回任何记录。为了解决这个问题,可以...

    sql经验总结技巧—非常的实用

    5. **随机选取数据**:若要随机选取表中的部分记录,可以使用`ORDER BY NEWID()`,如`SELECT TOP 10 * FROM [表名] ORDER BY NEWID()`。 6. **删除重复记录**:通过`GROUP BY`和`MAX`函数,可以删除重复记录,保留...

    数据库随机查询代码

    这条SQL语句从`RANDTEST`表中随机选取了50条记录的`id`字段。需要注意的是,`GROUP BY ID`在这个例子中似乎没有必要,除非有特定的需求。 ##### 2. 使用`ROW_NUMBER() OVER (ORDER BY NEWID())` 这种方式是另一种...

    SQL高级面试题及答案

    - 在SQL Server中,可以使用`ORDER BY NEWID()`来随机排序并选取记录。 18. **生成唯一ID**: - `NEWID()`函数在SQL Server中生成全局唯一标识符(GUID)。 19. **删除重复记录**: - 删除所有非最小ID的重复...

    SQL Server里如何随机记录集

    在SQL Server中,随机选取记录集是一个常见的需求,特别是在数据测试、数据分析或者为了展示随机样本时。本篇文章将深入探讨如何在SQL Server中实现这一功能,主要关注使用`NEWID()`函数来达到随机化记录集的效果。 ...

    基于Dephi+SQLServer2000的题库与试卷生成系统的毕业设计,Dephi+SQLServer+ADO技术

    一款基于Dephi+SQLServer2000开发的题库与试卷生成系统,该系统可以方便地创建和管理试卷,同时可以从题库中随机选取题目,使试卷更具有灵活性和多样性。 ## 系统功能 该系统具有以下主要功能: - 题库管理:可以...

    用SQL语句表与字段的基本操作、数据库备份等

    随机选取`tablename`表中的10条数据: ```sql SELECT TOP 10 * FROM tablename ORDER BY NEWID() ``` 12. **列出所有表名**: 获取数据库中所有用户表的名称: ```sql SELECT name FROM sysobjects WHERE ...

    VB+SQL 试卷自动生成系统

    系统首先根据设定的章节和难度比例,从题库中随机选取题目。这可能需要利用到SQL的聚合函数(如COUNT、SUM)和子查询来计算各章节题目数量,再结合随机数生成器确定具体选题。此外,可能还会用到排序和分组功能,以...

    C# 随机点名系统 (SQL server)(这个是旧的)

    4. **随机算法**:系统的核心部分是随机选取学生,这可能涉及到C#中的Random类,通过生成随机数来决定点名顺序。 5. **数据库连接字符串**:配置文件中通常会包含连接字符串,以便程序在运行时找到并连接到数据库。...

    SQL语句常用汇总

    用`NEWID()`可以随机选取记录,适用于无需特定顺序的情况。 7. **多值查询**: 使用`IN`关键字可以选取满足多个值之一的记录: ```sql SELECT * FROM 数据表 WHERE 字段名 IN ('值1', '值2', '值3'); ``` 8. ...

Global site tag (gtag.js) - Google Analytics