[英]MySQL: sort by multiple columns (distance and date)
我有一個距離(浮動)和最后在線(日期)的用戶表。
我想通過兩者的混合對用戶進行排序,給予在線日期更多的權重,以便結果將顯示用戶最近在線,然后最接近位置(最小距離)。
sql 這可能嗎? 還是需要彈性搜索之類的東西?
謝謝
在 MySQL 中,您可以構造一個度量。 像這樣的東西:
select t.*
from t
order by 1.0 * abs(distance - @location) + 1.0 * datediff(curdate(), last_online) asc
limit 1
1.0
s 是您可以為加權目的設置的任意參數。
您可以按順序指定多於一列。 如果我理解你的問題是正確的。
SELECT
contactLastname,
contactFirstname
FROM
customers
ORDER BY
contactLastname DESC,
contactFirstname ASC;
類似的東西會幫助你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.