选择一个随机的不同行

时间:2014-04-21 07:20:26

标签: php mysql

我在mysql中有一个名为 drug 的表,有3列(id,sick,drug)。
疾病可能会在列中多次出现,但使用不同的药物

我需要一个代码来选择不同的ilness,但它应该使用随机标准,以便它可以显示不同的药物

mydb中的例子......

id | illness | drug
------------------------------
1  |malaria  |panadol    
2  |malaria  |hedex  
3  |malaria  |tripple action    
4  |fever    |panadol  

我试过这个但是在选择药物行时并不是随机的。一直只选择一种治疗疟疾的药物。

$quotes="SELECT drug,remedy FROM drugs group by drug";

我需要此输出

 1   | malaria   | panadol or hedex or tripple action **//any but random**  
 2   | fever     | panadol **//random drug if i add other rows of fever**

2 个答案:

答案 0 :(得分:1)

试试这个

$quotes="SELECT drug,remedy FROM drugs WHERE id = (1+ RAND()*(SELECT MAX(id) FROM drugs)) group by drug";

答案 1 :(得分:1)

或者在mysql中 $select = 'select * from drugs order by rand() limit 1'; 这将随机获取行,然后限制其中一个行的答案。 您也可以在查询中添加where子句。