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