sách gpt4 ăn đã đi

mysql - sphinx 搜索查询前 20 个按标题 WEIGHT 排序,后 20 个按标题 ASC 排序,无重复输出

In lại Tác giả: Walker 123 更新时间:2023-11-29 19:14:28 31 4
mua khóa gpt4 giày nike

如何在 sphinx 上通过 sql 命令选择前 20 行按标题 WEIGHT 排序,接下来 20 行按标题 ASC 排序(总共 40 个结果),但不要给出重复的标题输出。

我尝试了这个 sql 命令,但所有标题结果都是通过 WEIGHT() 排序的

$sql = "SELECT *,MAX(WEIGHT()) AS tpw FROM vids_tab 
WHERE MATCH('@title " . mysql_real_escape_string( 'fun | funny | today funny' ) . "')
GROUP 5 BY title ORDER BY tpw DESC, title ASC LIMIT 40 OPTION max_matches=40";

câu trả lời hay nhất

说实话,我真的不认为这在单个查询中是实用的。只需发出两个查询。然后删除应用程序中的所有重复项。

在第二个中,确保结果数量增加一倍以上,因此即使需要删除 20 个重复项,仍然会有 20 个。

如果确实需要一个命令,请考虑需要一个 UDF。在特定问题上,需要知道前 20 个结果的权重范围(因此可以创建一个虚拟列进行排序(即知道行是否在前 20 个结果中)

... ORDER BY IF(WEIGHT() BETWEEN topweight AND bottomweight, WEIGHT(), 0 ) DESC , title ASC

(这不是一个有效的 sphinxQL 命令,只是演示需要模拟的内容)因此前 20 个将按重量排序,非第一个将获得相同的值,然后按标题排序。

关于mysql - sphinx 搜索查询前 20 个按标题 WEIGHT 排序,后 20 个按标题 ASC 排序,无重复输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42825140/

31 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress