在SQL中拥有两个不同的顺序和限制语句。

我有一个select语句,我需要先按相关性排序,得到相关性前十名,用rand()排序,然后限值为1,但我觉得用2个不同的排序,和限值语句是做不到的。所以,我的问题是,这个问题有没有变通的办法?谢谢,我有一个select语句,我想用2个不同的顺序和限制语句来限制1。

SELECT id, input, response, 
MATCH (
input
)
AGAINST (
 'cat frogs trees'
IN NATURAL LANGUAGE
MODE
) AS relevance
FROM allData
HAVING relevance >0
ORDER BY relevance DESC
LIMIT 10
ORDER BY RAND()
LIMIT 1

解决方案:

使用子查询。

SELECT t.*
FROM (SELECT id, input, response, 
             MATCH (input) AGAINST ('cat frogs trees' IN NATURAL LANGUAGE MODE) AS relevance
      FROM allData
      HAVING relevance > 0
      ORDER BY relevance DESC
      LIMIT 10
     ) t
ORDER BY RAND()
LIMIT 1;

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何通过包含数字的文本列进行排序查询?

2022-5-14 20:00:32

解决方案

R as.yearqtr from zoo package: how to remove blank (如何删除空白)

2022-5-14 20:00:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索