1
我想做到这一点MySQL的 - 从随机列,但获得大量指定
SELECT *
FROM Thoughts
ORDER BY RAND()
LIMIT 1 WHERE ups > 5
...但它返回一个错误。你知道另一个选择吗?我对MySQL有点新,谢谢。
我想做到这一点MySQL的 - 从随机列,但获得大量指定
SELECT *
FROM Thoughts
ORDER BY RAND()
LIMIT 1 WHERE ups > 5
...但它返回一个错误。你知道另一个选择吗?我对MySQL有点新,谢谢。
条款的顺序很重要。不要
SELECT * FROM Thoughts WHERE ups > 5 ORDER BY RAND() LIMIT 1
此外,在未来,发布错误你,你得到。 “一个错误”是惊人的不确定性。
ORDER BY RAND()可能会导致性能问题,而不是尝试以下办法做到:
// what NOT to do:
$r = mysql_query("SELECT * FROM Thoughts WHERE ups > 5 ORDER BY RAND() LIMIT 1");
// much better:
$r = mysql_query("SELECT count(*) FROM Thoughts WHERE ups > 5 ");
$d = mysql_fetch_row($r);
$rand = mt_rand(0,$d[0] - 1);
$r = mysql_query("SELECT * FROM Thoughts WHERE ups > 5 LIMIT $rand, 1");
谢谢你,我没有标题是“一个错误”,你说的不知道是什么关于? – someWalri 2010-11-17 05:20:28
@someWalri - “..但它返回一个错误。” ...这应该是被返回的确切的错误消息。 “错误”没有提供有用的信息。 – Donnie 2010-11-17 05:22:56
啊,对不起。猜猜我匆忙!但是,谢谢,它现在起作用。 – someWalri 2010-11-17 05:28:31