我正在使用以下查询来选择与指定纬度和经度最近的行。然后按距离对结果进行排序,返回所选数据集中最近的行。
但是,我想然后按expiry_date
字段对返回的最近的行进行排序以对该数据集进行排序,以便我将最快的结束(最近的到期日期)在顶部和最远的底部。
请你能告诉我我该怎么做吗?
SELECT * , ( 6371 * ACOS( COS( RADIANS( latitude ) ) * COS( RADIANS( 51.61062 ) ) * COS( RADIANS( - 0.236952 ) - RADIANS( longitude ) ) + SIN( RADIANS( latitude ) ) * SIN( RADIANS( 51.61062 ) ) ) ) AS distance
FROM `questions`
WHERE `expiry_date` >
CURRENT_TIMESTAMP HAVING distance <=50000
ORDER BY distance
LIMIT 0 , 15