我正在开发一个车辆交易网站。我有一个名为“vehicle”的表,其中包括车辆的制造商、型号等约20个字段。我正在编写一个搜索查询,以按制造商分组检索系统中的所有汽车,并显示每个制造商的汽车数量。
所以我的目标是获取系统中按制造商分组的所有车辆,同时显示每个制造商的车辆数量,但是数量部分不正确。它返回按制造商分组的汽车总数,而忽略了我的距离计算标准。
我正在执行以下SQL语句:
除了
所以我的目标是获取系统中按制造商分组的所有车辆,同时显示每个制造商的车辆数量,但是数量部分不正确。它返回按制造商分组的汽车总数,而忽略了我的距离计算标准。
我正在执行以下SQL语句:
SELECT * FROM (SELECT *,ROUND(((ACOS(SIN(51.4811109 * PI() / 180) * SIN(latitude * PI() / 180) + COS(51.4811109 * PI() / 180) * COS(latitude * PI() / 180) * COS((-0.433641 - longitude) * PI() / 180)) * 180 / PI()) * 60 * 1.1515),2) AS distance, count(make) AS carcount FROM `vehicle` `t` WHERE (status='Active')) as v GROUP BY make HAVING distance<=10
除了
carcount
,它返回的所有内容都是正确的,它返回了系统中325辆宝马汽车(系统中总共有325辆宝马汽车),而不是12辆宝马汽车(只有10辆车在10英里范围内)。 有人能看出我做错了什么吗?谢谢你的帮助。