0

在我的 MySQL 数据库中,所有条目都有一个等级(一个整数)。现在我想要一个随机提供 10 个元素的 SQL 查询。正如您可能猜到的那样,一个元素被采用的机会应该是 RatingOfThisElement/AllRatings。我怎样才能做到这一点。(我知道如何在 php 中执行此操作,但由于性能原因,我希望有一个 SQL 查询)。

4

3 回答 3

0

谷歌应该帮助你:http ://akinas.com/pages/en/blog/mysql_random_row/

于 2012-04-04T08:10:42.503 回答
0

您可以使用 ORDER BY RAND() LIMIT 10,例如MySQL: Alternatives to ORDER BY RAND()但如果以某些方式使用,MySQL 中的 ORDER BY RAND 会出现问题。它可以解决巨大的性能问题,您最好在 PHP 中执行它 - ORDER BY RAND 的替代品

于 2012-04-04T08:11:42.603 回答
0

这是解决方案

SELECT * FROM yourtablename ORDER BY RAND() LIMIT 0,10;
于 2012-04-04T08:19:16.907 回答