select * from students where studentno=concat('00',right(rand(),1));studentno是唯一的以00开头的如001,但是这样查出来会出现多条数据,我想要的是随机查出一条数据,想问一下哪点有问题。
收起
你学生不增加了是吧?确定是想用这种方法随机找一个学生?为什么不随机定位一行呢?非得去找个学号?用下面这种方式也能取随机一行
select * from students order by rand() limit 1
rand()是个伪列函数,返回的不是一个值,而是一列值,因此你表里有多少行数据,它就会返回多少个值,然后有概率刚好可以匹配上多行记录
报告相同问题?