随机获取数据库的数据

最近的在开发自己的博客,里面有个功能需要随机推荐这个功能。

不同数据库随机获取 10 条数据

转载:https://www.cnblogs.com/gc2013/p/3580796.html

SQL Server:
SELECT TOP 10 * FROM T_USER ORDER BY NEWID()ORACLE:
SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10MySQL:
SELECT * FROM T_USER  ORDER BY  RAND() LIMIT 10Access:
SELECT TOP 10 * FROM T_USER ORDER BY rnd([一个自动编号字段])这条语句在 Access 中的“查询”中是可以运行并得到随机结果的,但在 ASP.NET等后台程序代码中却无法得到预期的随机效果。
正确的写法如下:以ASP.NET为例:Random random = new Random(System.Guid.NewGuid().GetHashCode());
int r = random.Next();
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自动编号字段)"

Mysql数据库

转载:http://www.111cn.net/database/mysql/40168.htm

普通方法

本人现在使用的是Mysql数据库。

这条sql语句适用于数据库数据量小时的方式(普通方式,效率低下):

SELECT * FROM T_USER  ORDER BY  RAND() LIMIT 10

 

JOIN的方法

SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`) – (SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 10;

再把语句完善一下,加上MIN(id)的判断。

完整查询语句是:

SELECT * FROM `table`WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)))ORDER BY id LIMIT 1;SELECT *FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2WHERE t1.id >= t2.idORDER BY t1.id LIMIT 1;

转载于:https://www.cnblogs.com/-wenli/p/10485111.html

随机获取数据库的数据相关推荐

  1. 微信小程序云数据库触底分页加载,下拉无限加载,第一次请求数据随机,随机获取数据库的数据

    效果图 小程序云开发分页加载代码 <!--pages/chatList/chatList.wxml--> <view class="pageTitle">家 ...

  2. mysql高效率写法_mysql高效率随机获取n条数据写法

    今天做项目遇到这个问题,本来想用mysql自带的随机函数来实现,但是想到这样做功能是实现了,但是效率真的好差!一下子想不到好的方法,就去网上找了一下,记录下来,好好研究学习一下. ID连续的情况下(注 ...

  3. Oracle 随机获取N条数据

    Oracle 随机获取N条数据     当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到 ...

  4. php 获取数据库中的信息,php获取数据库中数据的实现方法

    废话不多说,直接上代码 header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "lo ...

  5. ORM框架通过映射(反射)获取数据库的数据

    ORM(Object Relational Mapping)框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中. 只要提供了持久化类与表的映射关系,OR ...

  6. mysql 随机槽_mysql怎样高效率随机获取n条数据

    ID延续的情况下(注重不能带where,否则效果欠好): SELECT * FROM `mm_account` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MA ...

  7. mysql怎样高效率随机获取n条数据

    ID连续的情况下(注意不能带where,否则结果不好): SELECT * FROM `mm_account` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MA ...

  8. cassandra随机获取数据_从数据库随机获取数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. mysql面向对象例子_PHP 面向对象实例:获取数据库用户数据

    先写一个数据库配置文件如下: db_config.php // 数据库配置文件, db_config.php $db_server = "localhost"; $db_user ...

最新文章

  1. nginx服务器access_log日志分析及配置详解
  2. Git 代码防丢指南
  3. js中闭包的概念和用法
  4. Linux入门笔记——less
  5. 圣诞素材ae模板-圣诞节日聚会派对视频素材ae模板
  6. Fence Repair(POJ-3253)
  7. 「开发小技巧」07—如何使用HTML和CSS创建图像叠加图标?
  8. F5 APM针对Vmware view7.3 VDI业务发布测试问题分析
  9. java set 接口_java笔记四:Set接口
  10. 用差分法求解burger方程 matlab,偏微分方程数值解上机实验.doc
  11. Qt配置OpenCV时mingw32-make反复出错的原因
  12. C++实现排列组合问题
  13. Tea Data Analysis System 茶饮数据分析系统
  14. Java合并word文档的两种方式
  15. 迁移学习知识 - 迁移学习的四种应用场景
  16. OpenCV+Mediapipe手势动作捕捉与Unity引擎的结合
  17. pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。
  18. Oracle 表创建和表管理
  19. 谁能给个oracle邮箱,谁能给我一个电子邮箱
  20. 数学正态分布中的那两个字母怎么读

热门文章

  1. shell编写监控httpd服务80端口脚本.间隔3秒监控端口如果服务关闭自动重启
  2. 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤
  3. zabbix使用ICMP ping监控网络状态
  4. CentOS中恢复rm命令误删文件
  5. 32位64位Eclipse和jdk对应关系
  6. 2022-01-10总结
  7. 网络管理与维护作业12
  8. pycharm中不能安装bs4的解决方案
  9. Java异常与异常处理简单使用
  10. 蓝天采集系统的安装和遇到的问题及解决方案