从最好的行返回随机行(即:100行 - >最好10 - >随机获得5行)

时间:2009-10-29 11:23:00

标签: sql mysql

情况:包含大量照片,分类和投票的表格。我现在正在这样做:

SELECT n.nid, n.title, ....... order by v.value desc limit 0,5

我想要的是在按行票排序我的行之后得到一个随机的结果集。现在,一个包含数百条记录的表格给了我最好的5行。总是一样的5.这是相当重复的,但当然给出5个随机行并不是最好的,因为并非所有的行都有很好的质量照片。有些可能不太好。

我不想这样做:

SELECT n.nid, ...... order by RAND() limit 0,5

我正在寻找的是这样的:

SELECT n.nid, .....   order by RAND( v.value desc limit 0.10) limit 0,5

但当然不是SQL :) 涉及的表格最多有50,000行。

谢谢!

1 个答案:

答案 0 :(得分:1)

嵌套查询不会这样做吗?首先选择10张最佳照片,然后随机选择5张。或者是临时表,但它与嵌套查询几乎相同。

编辑:感谢链接Lukáš