我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT

substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
list
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家不显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离,最好能够变成文字提示未知距离。请问该如何实现呢?谢谢!~

2017-09-11

更新问题

mysql里如何使用判断语句?

我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT

substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
list
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家不显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离,最好能够变成文字提示未知距离。请问该如何实现呢?谢谢!~

2017-09-11

更新问题

mysql里如何使用判断语句?

我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT

substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
list
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家不显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离,最好能够变成文字提示未知距离即可。请问该如何实现呢?谢谢!~

2017-09-11

更新问题

mysql里如何使用判断语句?

我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT

substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
list
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家不显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离也可以提示为未知距离即可。请问该如何实现呢?谢谢!~

2017-09-11

更新问题

mysql里如何使用判断语句?

我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT

substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
qb_hy_company
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家不显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离也可以提示为未知距离即可。请问该如何实现呢?谢谢!~

2017-09-11

创建问题

mysql里如何使用判断语句?

我当前在数据库里计算距离,并用距离进行排序,当遇到有的商家没有输入经纬度时,就会使距离变的特别大。请问该如何进行判断解决这个问题呢?

代码如下:SELECT
substring_index(maps, ",", 1) AS lng,
substring_index(maps, "," ,- 1) AS lat,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
32.640351 * PI() / 180 - substring_index(maps, ",", - 1) * PI() / 180
) / 2
),
2
) + COS(32.640351 * PI() / 180) * COS(
substring_index(maps, ",", - 1) * PI() / 180
) * POW(
SIN(
(
117.013281 * PI() / 180 - substring_index(maps, ",", 1) * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
qb_hy_company
ORDER BY
distance ASC

代码如上,如果我使用HAVING distance < 1000000的确可以解决我所描述问题,但问题也出现了,就是该商家就直接不会显示了,我的想法是,如何在mysql查询语句里判断maps这个字段,如果为空,就不显示或计算距离也可以提示为未知距离即可。请问该如何实现呢?谢谢!~