我正在尝试通过使用主键 _id 和以下查询从表(用户)中检索随机行。
SELECT *
FROM user
WHERE _id IN (SELECT Floor(1 + ( Rand() * ( Count(_id) - 1 ) ))
FROM user);
没有从表中删除任何行,但我(不一致地)返回了多行......
我觉得这很神奇,因为子查询的任何结果肯定会返回一个整数,它针对主键.....应该始终只有 1 条记录!
我想使用一个查询,我可能会使其成为一个准备好的语句,并且我没有使用 LIMIT 子句,因为我不能使用@variables 来选择随机行。
我的 MySQL 欢迎声明告诉我我的版本如下: 服务器版本:5.5.29-0ubuntu0.12.04.2 (Ubuntu)