SQL:从最后几行中选择;按rand()排序

时间:2017-11-28 11:15:21

标签: mysql sql database

我试图做某事""在MySQL中。我的计划是从条件类似于x的表中选择最后3行。之后,我想从这3行中选择一个随机行。我在这里找到了类似的东西,尝试了但是这只给了我整个最后一行:

Select last N rows from MySQL

以及我尝试这样做的方法:

SELECT * FROM
    (SELECT * FROM foo
    WHERE foo.row = 'bar'
    ORDER BY id DESC
    LIMIT 3) 
sub
ORDER BY rand()
LIMIT 1

感谢您的帮助!

/ E: 我得到的就是符合我条件的最后一排。 更具体一点:论坛中的用户可以"引用"其他用户 - 在论坛上随机显示其中一个引号(在所有引号中)'指数。每次你进入论坛'索引另一个报价显示。一些用户得到(很多)更多的报价而且为了使它有点公平我想只从一个用户的最后三个引号中选择一个随机引用。它结合了PHP和论坛'软件是MyBB。

所以我想从特定用户的最后三个引号中选择一个随机引用,如下所示:

SELECT * FROM
    (SELECT * FROM mybb_inplayquotes
    WHERE mybb_inplayquotes.uid = '$users[uid]'
    ORDER BY qid DESC
    LIMIT 3) sub
ORDER BY rand()
LIMIT 1

我得到的结果总是一样的:符合我条件的最后一行(所以用户x的最后报价);没有错误或什么的。

0 个答案:

没有答案