gpt4 book ai didi

sql - 如何在此示例中过滤搜索结果

转载 作者:行者123 更新时间:2023-11-29 13:07:37 27 4
gpt4 key购买 nike

我有一个包含数千种产品的产品表。有些产品有不同的颜色可供选择。但是,当有人搜索“mp3 播放器”时,我不想向他显示所有颜色,而只是显示最畅销颜色的播放器。

她是表格布局(简化):

ID | PRODUCT_NAME      | COLOR | SALE_COUNT
===========================================
1 | Mp3 player red | red | 2
2 | Mp3 player gold | gold | 1
3 | Mp3 player black | black | 100

但是,当用户搜索“Mp3 播放器红色”时,我想向他展示红色播放器,而不是黑色播放器。搜索是使用“like”运算符执行的(是的,我知道 lucene,无论如何我需要解决这个问题)。

有什么解决这个问题的建议吗?我有一些想法,但似乎没有一个是好的解决方案。谢谢,

postgreSQL 数据库和 jave 用于创建结果。

最佳答案

如果我理解您的问题,只需按 SALE_COUNT 降序排序并只选择第一个:

SELECT TOP 1 ID, PRODUCT_NAME, COLOR, SALE_COUNT
FROM table
WHERE PRODUCT_NAME LIKE '%' + @searchParam + '%'
ORDER BY SALE_COUNT DESC

请确保首先通过删除任何可能的 sql 注入(inject)攻击来清理搜索参数。

编辑:

如果你使用的是 postgres,语法是在末尾加上一个“LIMIT n”,所以:

SELECT ID, PRODUCT_NAME, COLOR, SALE_COUNT
FROM table
WHERE PRODUCT_NAME LIKE '%' + @searchParam + '%'
ORDER BY SALE_COUNT DESC
LIMIT 1

关于sql - 如何在此示例中过滤搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com