如题,在mysql中想取表中随机一条记录,思路是取到rownum,然后获取1~总条数的随机数,where条件rownum = 此随机数,可是结果时而为空,时而为多条,求解。
全表数据
随机数
查询结果1
查询结果2
相关问题
- SQL join to get the cartesian product of 2 columns
- sql execution latency when assign to a variable
- Difference between Types.INTEGER and Types.NULL in
- php PDO::FETCH_ASSOC doesnt detect select after ba
- sqlyog export query result as csv
看你产生的随机数
这是rand函数导致的,如果你用sqlserver,将不会出现此问题,因为整个floor表达式的值会在查询之前就计算好了,而mysql的查询机制仿佛是在查询时,逐行匹配,每扫描一行rand一次,如果floor结果跟rownum匹配就返回,不匹配就返回,导致记录条数不固定