请有人帮我完成我的任务,搜索数据库(有2个全文索引列)使用多个单词和按价格DESC排序。
此查询确实有效(搜索用户输入的关键字,根据匹配的单词数创建得分)但ORDER BY价格DESC似乎有点奇怪。示例
SELECT *, MATCH(title,description) AGAINST('nissan ford astra golf' IN BOOLEAN MODE) AS relevance FROM listings WHERE MATCH(title,description) AGAINST('nissan ford astra golf' IN BOOLEAN MODE) ORDER BY price DESC;
Ford Escort | Used | £100
Vauxhall Astra | New | £2000
VW Golf | Used | £500
Nissan Micra | Used | £2000
我想将price列设置为ORDER BY DESC或ASC的优先级。
这需要将近5年的时间 得到这一点,所以希望一些知识渊博的家伙可以帮助我完成这个问题。
非常感谢提前。 安德鲁。
答案 0 :(得分:0)
我怀疑价格似乎存储为字符串而不是数字。假设您没有小数点,这是一个解决方法:
order by length(price) desc, price desc
或者,转换为数字:
order by substr(price, 2) + 0