关闭

MySQL使用SQL语句从数据库表中随机获取数据

标签: mysqlsql随机随机查询rand
195人阅读 评论(0) 收藏 举报
分类:

今天项目中涉及到一个需求,就是用户在刷新页面或者重新进入的时候,页面的广告要随机展示一条,起初的想法是每次从数据库查询出10条广告,然后再从这10条广告里边随机抽取一条。后来想想这么做不妥,因为取出10条数据的时候,就必须有排序规则(指定或者默认),有了这个排序规则,查询出来的这10条数据永远都不会变,那么如果总共有20条广告,那么就另外的10条广告永远也取不到。

后来惊奇的发现,MySQL居然有随机查询这一说,之前确实没用过,其实用法超级简单,语句结构如下:
SELECT * FROM table WHERE field=x ORDER BY  RAND() LIMIT n
套用结构,轻松搞定:
SELECT * FROM `lz_adv` WHERE `status` = 1 ORDER BY RAND() LIMIT 1;
有时候查查手册,还是很有必要的!!
0
0
查看评论

从数据库表中随机获取N条记录的SQL语句

Oracle:       select * from (select * from tableName order by dbms_random.value) where rownum MS SQLServer:  &...
  • senton
  • senton
  • 2009-08-03 14:24
  • 5967

SQL语句随机抽取一条记录

我们经常想在一个数据表中随机地选取出数据来,比如随机生成考试试卷等。 利用 SQL Server 的 NewID() 方法就可以很轻松地达到这个目的。   NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4 在 se...
  • will5451
  • will5451
  • 2016-04-29 17:58
  • 2474

SQL语句数据随机排序

order by newid()
  • hutao1101175783
  • hutao1101175783
  • 2013-05-28 18:16
  • 1320

从数据库中随机抽取一条记录的SQL语句

我们经常想在一个数据表中随机地选取出数据来,比如随机生成考试试卷等。利用 SQL Server 的 NewID() 方法就可以很轻松地达到这个目的。 NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4在 select 表的时...
  • Kevinzhangfei
  • Kevinzhangfei
  • 2010-03-20 22:36
  • 13356

使用SQL语句随机获取数据

SQL Server--> SELECT  TOP 50 * FROM TAB_USERS ORDER BY NEWID(); ORACLE--> SELECT * FROM (SELECT * FROM TAB_USERS ORDER BY DBMS_RANDOM.RAND...
  • qq396122519
  • qq396122519
  • 2014-03-07 10:30
  • 582

[Mysql]从表中随机取出一条数据sql

这是前一段时间做一个需求的调研,需求就是很快的从mysql一张表中随机取出一条数据,
  • lzz957748332
  • lzz957748332
  • 2014-10-19 21:05
  • 2030

c#中连接数据库后绘制柱状图和饼状图

自己在项目中使用的绘制柱状图和饼状图的方法 简单实用,可直接调用 public class GongNeng {     System.Data.DataTable table1 = new System.Data.DataTable();     ...
  • yue1183283159
  • yue1183283159
  • 2013-01-24 12:32
  • 2391

从list集合里随机获取数据

从list集合里随机获取数据 从集合里面随机获取一组数据 settext 获取当前时间  从当前时间往前推七天 获取到这七天的日期 添加到集合里面 private ArrayList xValues = new ArrayList(); private Ar...
  • u014608261
  • u014608261
  • 2016-10-19 20:09
  • 4404

使用SQL语句从数据库一个表中随机获取数据

-- 随机获取 10 条数据 SQL Server: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) W...
  • bbbeoy
  • bbbeoy
  • 2017-05-22 16:27
  • 202

导出数据库表中数据的SQL语句

CREATE PROCEDURE [dbo].[UspOutputData] @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000...
  • zaocha321
  • zaocha321
  • 2013-05-25 10:11
  • 711
    个人资料
    • 访问:168381次
    • 积分:2314
    • 等级:
    • 排名:第19281名
    • 原创:79篇
    • 转载:8篇
    • 译文:0篇
    • 评论:242条
    文章分类
    最新评论