我有一个表,想用嵌套查询对最相关的结果进行排序。
我有4列 item_name, color, gender, pattern
有15万排
如果我已经给了name:shirt, color:white, gender:female, pattern:solid
我想要10个最相关的结果,即使有些属性没有基于属性优先级的精确匹配
需要获取与项目名称匹配的所有行
然后在上面的结果中得到所有与性别匹配的行
然后在上面的结果中得到所有匹配颜色的行
然后获取与上述结果中的模式匹配的所有行
最后,如果结果小于10,那么我们需要显示上一个查询的剩余结果
我试过了
select product_type
from product_feeds
WHERE color = 'black'
AND color IN (select color
from product_feeds
WHERE gender = 'female'
AND (gender) IN (SELECT gender
FROM product_feeds
WHERE product_type = 'Jeans & Leggings'
)
)
它不起作用。
1条答案
按热度按时间rjjhvcjd1#
如果我理解正确,您有一个不同列的优先级列表。你可以处理这个问题
order by
在每列上: