Первые два запроса работают нормально, третий работает, но ничего не возвращает, когда должны быть результаты. Как я могу получить третий, чтобы вернуть результаты. Мне кажется, GROUP BY
и HAVING
не работают вместе.Как использовать GROUP By и HAVING в MySQL
2-й запрос возвращает 32 активных состояния и 7 ожидающих статуса, поэтому третий запрос должен возвращать резюме второго запроса, но это не так.
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