是否有一种方法给相等的权重在MySQL的两行值时,由字段排序?


ORDER BY FIELD(store.location, "MP12221", "MP62112","MP15314") ASC, distance ASC

我有这个查询,它使用FIELD对位置进行排序,然后按距离排序,因为我希望这三个是最后一个,而不管与用户的距离如何,但是我希望存储MP12221和MP62112的权重相等。你怎么能这么做?因为在我的理解中,使用这个查询将确保MP12221总是在MP62112之前。

我需要所有存储的都按距离排序,除了三个,然后MP12221和MP62112按距离排序,然后MP15314排在最后。

通过CASE表达式排序在这里可能更有意义:

ORDER BY
CASE store.location
WHEN 'MP12221' THEN 1
WHEN 'MP62112' THEN 1
WHEN 'MP15314' THEN 2
ELSE 3 END,
distance

相关内容

  • 没有找到相关文章