SQL 按条件 随机 取记录

SQL 按条件 随机 取记录,第1张

1select count(),商家 from table group by 商家

2select count() from table

3select top 3 from table order by rnd(id)

4select top 66 from table order by rnd(id)

34 access对随机函数的支持不好,建议在程序中实现,具体思路是先取出表中所有的id值,然后存到一个数组中,然后用程序取随机数组

5到底是要消费笔数最多还是金额最大。两个条件会冲突的,消费只有1笔,但也有可以金额是最大的。

6select id,列名1,列名2, into newtable(列名1,列名2,) where id in(分别写3,4,5的条件)

7delete table where id not in ( select min(id) from table group by id)

一 你可以试试这个: select from xx order by rand() limit 100 二 是利用系统时间来取随机数的代码,用C++写的。你参看一下吧。 你可以把随机数的范围限定在0 -- 100 ,之内,作为数组的下标就可以访问了。 #include <iostreamh> #include <stdlibh> #include <timeh> int main() { srand((unsigned int) time(NULL)); int i ,j = 1,array[10] ; while(j != 0) { for(i = 0;i < 10;i++) { array[i] = rand(); cout<<array[i]<<endl ; } cin>>j ; } system("PAUSE"); return 0; }

--题目没有表达清楚,我就写个差不多的sql给你吧。

--通过case语句来判断返回一个概率

select id,state 

case state when 1 then 01 when 2 then 03 else 005 end as 概率

from 表a

eg:

select top 10 newid() as row, productid, productname from Products order by row

NewID()在每一次调用的时候都产生一个GUID这个方法是调用NewID()的值作为一列,然后通过NewID()排列这些值。

从mysql数据库表中随机获取数据

其实,从数据库随机获取数据,很简单,只须用到一个rand()函数;

select from table_name order by rand() limit 0,5;

下面是一个小实例:

从文章表中随机获取5条数据。

$dblink=mysql_connect("localhost","root","123456");

mysql_query("set names utf8");

mysql_select_db("aixuexi");

$sql="select from waxx_article order by rand() limit 0,5";

$rs=mysql_query($sql);

while($row=mysql_fetch_array($rs)){

$rows[]=$row;

}

if($rows){

foreach($rows as $v){

>

<div style="width:350px;height:35px;line-height:35px;border:1px solid #ccc;"><php echo $v['title']; ></div>

<php

}

}else{

echo "暂无文章";

}

1、以某整数字段为种子(没有的话要生成一个)

2、通过RAND函数生成一个0-1之间的随机数。如07136106261841817

3、然后转换成文本型

4、再取后7位即可RIGHT(CONVERT(VARCHAR,RAND(序号)),7) 。

具体语句如下:

如果表中有一个字段为整型的序号或标识列,那么就可以以序号为种子生成随机的学号字段。

UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,RAND(序号)),7) WHERE 序号 IS NOT NULL

如果没有整型的序号或标识列,就要根据表中能够唯一标识确定某行的关键字段来生成学号,如ID

UPDATE TABLENAME SET 学号=RIGHT(CONVERT(VARCHAR,rand((select count(1) from tablename a where aid>=tablenameid))),7)

以上就是关于SQL 按条件 随机 取记录全部的内容,包括:SQL 按条件 随机 取记录、在SQL SERVER 2000中怎么用SQL语句随机提取100条数据、SQL语句如何按照概率随机抽取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9763712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存