请问,select出符合所有条件记录后,想随机显示其中数条,怎么弄?谢谢

lzkd 2005-03-28 09:22:59
如题.

  假设符合条件的记录有数百条这么多。现在,我只想显示其中5条。而且,是随机显示。查了一下mysql手册,好象里面没有随机显示若干条的参数。

  各位达人,能否教在下一个方法,可以达到这种效果?多谢各位先。

  自己考虑过这个问题,也许我可以使用limit $test,5,$test在这里是一个随机数,这样也马马虎虎可以达到所谓的效果(骗骗领导了)。但,这里面就会涉及一个问题,$test的取值范围怎么定?好象没有一个好办法。

  想不出别的办法哦,诚心请教各位,谢谢。
...全文
173 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzkd 2005-03-29
  • 打赏
  • 举报
回复
问题解决了...用最简单也最笨的办法吧,呵...谢谢大家了
coolstr 2005-03-28
  • 打赏
  • 举报
回复
e.g.

用mysql 自己的随机函数 order by rand()

select * from table order by rand() limit 5
enhydra 2005-03-28
  • 打赏
  • 举报
回复
to _pb_(布衣)

这样是不是出现连续的五个啊

如果采用循环,每次只随机取一个,应该合理一些吧
lzkd 2005-03-28
  • 打赏
  • 举报
回复
to _pb_(布衣)

??不明白,你的说的---来点真---是什么意思??
_pb_ 2005-03-28
  • 打赏
  • 举报
回复
to 快刀

来点真。
lzkd 2005-03-28
  • 打赏
  • 举报
回复
顶一下...
_pb_ 2005-03-28
  • 打赏
  • 举报
回复
有错。limit
_pb_ 2005-03-28
  • 打赏
  • 举报
回复
这样如何 :>

$queryString="select count(id) as COUNTROW from user";
$queryResult=@mysql_query($queryString);
$queryArray=@mysql_fetch_array($queryResult);
$mx_Num=$queryArray[COUNTROW];
$mx_Num=$mx_Num-5;

$startRow = @rand(0, $mx_Num); // @mt_rand(0,$mx_Num)

$queryString="select id,name,addr,email from user where name like '李%' limie $startRow,5";
lzkd 2005-03-28
  • 打赏
  • 举报
回复
想了一下--myvicy(在线解决:你的问题我来解决(因为我不会骗人,所以我最) ( )--的办法可能可以.

1 将所有符合条件的记录的id号组成一个数组
2 在数组内随机抽取暖5个数,组成一个新的数组
3 然后,一条一条的将内容select出来

好象那个了点....有更好的办法没有?
jxflll 2005-03-28
  • 打赏
  • 举报
回复
先找出符合的记录,然后计算出个数,然后在0~符合记录的个数之间取随机数,显示出来就行了。

不知道哪位大虾还知道更好的办法?请赐教!谢谢。
myvicy 2005-03-28
  • 打赏
  • 举报
回复
变通的方法。
产生在记录范围内的5个随即数,然后匹配显示。
lzkd 2005-03-28
  • 打赏
  • 举报
回复
顶一下先
_pb_ 2005-03-28
  • 打赏
  • 举报
回复
to coolstr(小菜鸟)

rand() 函数还能这样用??

mysql 的 手册中没有,是不是 PHP 中 关于 mysql 的函数都能这样用。

---------------------------------------------------------------
to 快刀
没看楼主的名字,搞错了。
zairwolfd 2005-03-28
  • 打赏
  • 举报
回复
楼上学到了。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧