第一和第二个查询没有问题,第三个查询运行了但是没有返回结果,而实际上应该有结果的。我应该如何让第三个查询返回结果呢?在我看来,
第二个查询返回32个“Active”状态和7个“Pending”状态,因此第三个查询应该返回第二个查询的总结,但它并没有。
GROUP BY
和HAVING
好像不能很好地配合使用。第二个查询返回32个“Active”状态和7个“Pending”状态,因此第三个查询应该返回第二个查询的总结,但它并没有。
SELECT COUNT(DISTINCT MLSNumber) AS TOTAL, `Status`
FROM Residential
WHERE PropertyType='Single Family' AND Status IN ("Active", "Pending")
GROUP BY `Status`;
SELECT MLSNumber, `Status`,
( 3959 * acos( cos( radians(21.380936) ) * cos( radians( Latitude ) )
* cos( radians( Longitude ) - radians(-157.757438) ) + sin( radians(21.380936) )
* sin(radians(Latitude)) ) ) AS distance
FROM Residential
WHERE PropertyType='Single Family' AND Status IN ("Active", "Pending")
HAVING distance < 2;
SELECT COUNT(DISTINCT MLSNumber) AS TOTAL, `Status`,
( 3959 * acos( cos( radians(21.380936) ) * cos( radians( Latitude ) )
* cos( radians( Longitude ) - radians(-157.757438) ) + sin( radians(21.380936) )
* sin(radians(Latitude)) ) ) AS distance
FROM Residential
WHERE PropertyType='Single Family' AND Status IN ("Active", "Pending")
GROUP BY `Status`
HAVING distance < 2;
WHERE
。HAVING
仅用于聚合。 - AdamMc331