在php查询从表中获取行后获取一个随机值

时间:2014-08-31 21:55:19

标签: php mysql sql

我有以下mysql表。

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `reg_number` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;

在此表中有一些值如下

INSERT INTO `users` (`name`, `reg_number`) VALUES('qaser', 'j-001'), ('rizwan', 'j-002'), ('rizwan', 'j-003'),('rizwan', 'j-004'),('rizwan', 'j-005'),('rizwan', 'j-006'),('rizwan' 'j-007'),('rizwan', 'j-008');

我正在使用以下查询

检索这些值
$sql="SELECT reg_number FROM users";
    $result=mysqli_query($con,$sql);
    if(!$result){
            die(mysqli_error($con));
           }
    while($row=mysqli_fetch_array($result)){
    echo $row['reg_number'];
}

它给了我以下输出

j-001 j-002 j-003 j-004 j-005 j-006 j-007 j-008

这些查询运行时非常顺利。我想要这个结果的随机输出,这将只有一个值,例如。 J-005

作为rand(1,8)函数工作,它只给出一个值。

1 个答案:

答案 0 :(得分:1)

你可以使用RAND()操作数来做到这一点

SELECT reg_number FROM users ORDER BY RAND() limit 1