Php 不在mysql子查询限制中
有人知道我如何处理1235-这个版本的MySQL还不支持“LIMIT&IN/ALL/any/somesubquery”错误吗 我的问题如下我已经读到我可以升级mysql,但这是不可能的:Php 不在mysql子查询限制中,php,mysql,subquery,Php,Mysql,Subquery,有人知道我如何处理1235-这个版本的MySQL还不支持“LIMIT&IN/ALL/any/somesubquery”错误吗 我的问题如下我已经读到我可以升级mysql,但这是不可能的: $query = @mysql_query("SELECT * FROM posts WHERE postid NOT IN ( SELECT postid FROM log
$query = @mysql_query("SELECT * FROM posts
WHERE postid NOT IN
( SELECT postid FROM log
ORDER BY posted DESC
LIMIT 10)
ORDER BY (RAND() * Multiplier)
LIMIT 1");
根据这一点,您可以使用以下难看的解决方法:
SELECT * FROM t1 WHERE s1 NOT IN
(SELECT * FROM (SELECT s2 FROM t2 ORDER BY s1 LIMIT 1) AS alias)
您可以使用JOIN重写查询: 挑选* 从自然左连接 按已过帐描述限制从日志订单中选择已过帐描述10 T 其中t.postid为空 兰特订购 限制1 但是,请注意,兰德公司的订单非常昂贵。不仅必须为每个记录计算一个随机值,而且还必须对结果进行排序。索引是无用的 如果列col包含唯一的整数,那么使用col上的索引可以非常快速地获得随机记录,如下所示: 挑选* 从自然左连接 按已过帐描述限制从日志订单中选择已过帐描述10 不加入 从帖子中选择RAND*MAXcol作为RAND posts.col>=r.rand上的r 其中t.postid为空 限制1 注意,这种随机性的均匀性将取决于任何其他滤波发生后col中整数的分布