Почему необходимо использовать GROUP BY
. У вас есть запрос агрегации, в котором вы хотите вернуть одну строку на город - даже если есть только один город. Это делает ваш запрос агрегацией. Вы можете настроить запрос так, чтобы он не был нужен. Вот два метода:
SELECT MAX(cityName) as cityName, MAX(highTemperature) As highTemperature
FROM Weather
WHERE cityName = 'Rawalpindi';
Или:
SELECT 'Rawalpindi' as cityName, MAX(highTemperature) As highTemperature
FROM Weather
WHERE cityName = 'Rawalpindi';
Оба они являются действительными запросами агрегации без GROUP BY
. Таким образом, они будут возвращать ровно одну строку - даже если ни одна строка не соответствует предложению WHERE
. Вместо CityName
они используют либо функцию агрегации, либо константу, поэтому проблем нет.