使用的sql如下
SELECT * FROM doctor_info
where list_id = CEILING((SELECT RAND() * MAX(list_id) FROM doctor_info));
查询的结果按理说应该只有一个的,但是有时候返回空值,有时候返回好几个值
求解!!!!
你每次得到的list_id都是随机的吧,一个随机数×你表里的id得到的可能是一个不是表里存在的id,所以你有的时候会得到空的值,有时候可以得值,但是返回多个值的问题应该没有吧
你把子查询该下 改为 select (rand()*max(list_id)) as id from doctor 试试