Lar*_*rry 3 mysql random limit
我正在使用全文搜索来拉行.
我根据得分(ORDER BY SCORE)排序行,然后排在前20行(LIMIT 20),我想rand(RAND)结果集.
因此,对于任何特定的搜索词,我想随机显示前20个结果中的5个.
我的解决方法是基于代码 - 我将前20个放入数组然后随机选择5.
有没有sql方法来做到这一点?
您可以使用内部选择来执行此操作.选择内部选择中的前20行.在外部选择顺序中,这些行随机选择前五个:
SELECT *
FROM (
SELECT *
FROM table1
ORDER BY score DESC
LIMIT 20
) AS T1
ORDER BY RAND()
LIMIT 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3394 次 |
| 最近记录: |