我從我的查詢中返回結果列表,我想按最佳匹配順序排列。我會盡力讓自己儘可能清楚,但如果事情不夠明確,讓我知道,我會盡量讓它更清楚。在最佳匹配上訂購SQL查詢
用戶已輸入名爲findsettings
的設置列表。有了這些findsettings
我正在尋找產品。這一切都很順利,直到他應該理清最佳匹配。
有幾個字段,如min_review, max_price, allows_pets, etc
。
我想訂購。例如,他需要先訂購min_review of 40%
,然後max_price = 10.00
,然後allows_pets = 0
。你可以用OR
來做到這一點,但我希望不安靜匹配的結果也只顯示在列表的底部。所以基本上他應該首先展示最好的搭配,然後是第二個,第三個等,直到匹配最少的產品。
我不知道如何處理這個,所以我希望你能幫我解決這個問題。
你能告訴我們你的表結構,索引和查詢碼嗎?這聽起來像你想要使用FULLTEXT索引並利用MATCH AGAINST,但是沒有看到結構和代碼,很難告訴你最好的方法。 – davidethell
請包括一個完整的示例,並以您想要的順序記錄多個記錄。例如,如果搜索包含「40%的最低評審」,那麼對「99%」的評審是在評審「41%」之前還是之後?事實上,我認爲訂單標準和搜索標準應該是分開的:「MinReview = 40%,MinPrice = 10。00;價格ASC,評論DESC' *(我特意將此更改爲MinPrice,用於下一個示例)*。當包括不完全匹配的記錄時,***正好***你想要什麼? '39%,10.00'之前或之後應該有'40%,9.99'嗎? – MatBailie