我使用下面的选择从3列,它的工作,因为它应该但当我试图添加日期到订单,然后我可以´我没弄对。它是一个mysql数据库。
SELECT *,
MATCH(artikel) AGAINST ("&soktexten&" IN BOOLEAN MODE)* 10 as rel1,
MATCH(ingress) AGAINST ("&soktexten&" IN BOOLEAN MODE) as rel2,
MATCH(texten) AGAINST ("&soktexten&" IN BOOLEAN MODE) as rel3
FROM produkt
WHERE MATCH (artikel, ingress, texten) AGAINST ("&soktexten&" IN BOOLEAN MODE)
ORDER BY (rel1)+(rel2)+(rel3) DESC LIMIT 25;
我有3行,其中“artikel”有下面的文本,然后是日期。
Row 1 - "Träbord" - "2019-01-01"
Row 2 - "Träbord aaa" - "2019-01-02"
Row 3 - "Träbord bbb" - "2019-01-03"
我想让它搜索最新的日期匹配的词是在“阿蒂克尔”。
如果我搜索“tr”äbord bbb“或”träbord aaa“这是显示他们在名单的顶部,因为他们应该,但如果我只搜索”träbord“它正在显示”träbord“作为列表中的第一个,我希望它首先搜索最新的日期,然后搜索匹配的单词。
那我该怎么改变呢 ORDER BY (rel1)+(rel2)+(rel3) DESC LIMIT 25
所以它先按日期排序,然后按匹配的词排序?
我用几种不同的 ORDER BY (rel1)+(rel2)+(rel3), date DESC LIMIT 25
等等,但我可以´我没弄对。非常感谢您的意见,谢谢。
1条答案
按热度按时间jjjwad0x1#
我想这正是你想要的: