mysql取表中随机一条记录
如题,在mysql中想取表中随机一条记录,思路是取到rownum,然后获取1~总条数的随机数,where条件rownum = 此随机数,可是结果时而为空,时而为多条,求解。
全表数据
随机数
查询结果1
查询结果2
回答
这是rand函数导致的,如果你用sqlserver,将不会出现此问题,因为整个floor表达式的值会在查询之前就计算好了,而mysql的查询机制仿佛是在查询时,逐行匹配,每扫描一行rand一次,如果floor结果跟rownum匹配就返回,不匹配就返回,导致记录条数不固定
以上是 mysql取表中随机一条记录 的全部内容, 来源链接: utcz.com/a/48481.html