Php 一个表中两组结果的合并

Php 一个表中两组结果的合并,php,mysql,join,union,Php,Mysql,Join,Union,我有一个广告表,其中有带有纬度和经度值的特色和非特色广告, 当用户从某个位置按距离搜索广告时,我想在顶部显示距所选位置500公里以下的特色广告,以及所有其他广告(按距离搜索至无限距离),然后显示特色列表 我能够显示功能清单,首先无限距离,然后其他剩余的广告使用距离功能和功能条款的顺序。但是,如何使特色列表显示在500公里以下,然后剩余的广告无限距离 我是否需要使用union,是否有其他解决方案 源位置的 latitude = -37.814563 longitude = 144.970267

我有一个广告表,其中有带有纬度和经度值的特色和非特色广告, 当用户从某个位置按距离搜索广告时,我想在顶部显示距所选位置500公里以下的特色广告,以及所有其他广告(按距离搜索至无限距离),然后显示特色列表

我能够显示功能清单,首先无限距离,然后其他剩余的广告使用距离功能和功能条款的顺序。但是,如何使特色列表显示在500公里以下,然后剩余的广告无限距离

我是否需要使用union,是否有其他解决方案

源位置的

latitude = -37.814563
longitude = 144.970267
选择da.*(6371*acos(弧度(144.970267))*cos(弧度(da.locu lng))*
cos(弧度(-37.814563)-弧度(da.loc_lat))+sin(弧度(144.970267))*
sin(弧度(da.loc_lng)))作为与目录的距离排序,其中da.approved=1
和da.deleted=0按da.DESC、distance排序ASC排序

您可以使用以下带有条件的
order by
子句执行此操作:

order by (case when da.featured > 0 and DistanceSort < 500
               then distance_sort else 500
          end),
         DistanceSort
order by(da.featured>0且距离排序<500时的情况)
然后距离再排序500
(完),,
距离排序

Gordan你真是太棒了。你救了我一天。@tanz。很高兴我能帮忙。