我收到一个错误:
“列 'Weather.cityName' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中”。
为什么这里有必要使用GROUP BY
?
SELECT cityName , MAX (highTemperature) As highTemperature
FROM Weather
WHERE cityName = 'Rawalpindi';
为什么需要使用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
,它们使用聚合函数或常量,因此没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句