gpt4 book ai didi

如果任何组合匹配,MySQL 显示结果

转载 作者:行者123 更新时间:2023-11-29 03:57:25 25 4
gpt4 key购买 nike

假设用户有一个搜索表单,他可以在其中搜索属性。假设他选择:

Location : ABCPrice Range : 1 million - 5 millionsNo. of Bedrooms Range : 5 - 12State : XYZCounty : PQRCategory: MNO

匹配他选择的所有字段以从数据库中产生结果的可能性非常小。所以在 WHERE 条件下使用 AND 在这里似乎无效。我想要的是 -

  1. 如果所有选择都匹配则没有问题显示结果
  2. 如果位置、价格范围、州匹配,则同时显示结果
  3. 如果位置、卧室数量、类别、状态匹配,则也显示结果
  4. 依此类推....如果任何组合匹配则显示结果

最佳答案

如何过滤表以查找与任何搜索词匹配的记录,并按匹配词数量的降序对结果进行排序:

SELECT   *,
(Location = 'ABC')
+ (Price BETWEEN 1000000 AND 5000000)
+ (Bedrooms BETWEEN 5 AND 12)
+ (State = 'XYZ')
+ (County = 'PQR')
+ (Category = 'MNO')
AS relevance
FROM my_table
WHERE (Location = 'ABC')
OR (Price BETWEEN 1000000 AND 5000000)
OR (Bedrooms BETWEEN 5 AND 12)
OR (State = 'XYZ')
OR (County = 'PQR')
OR (Category = 'MNO')
HAVING relevance >= ? -- specify the minimum number of matching terms here
ORDER BY relevance DESC
LIMIT ? -- specify the maximum number of matching records here

关于如果任何组合匹配,MySQL 显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862404/

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