【发布时间】:2011-06-11 02:14:41
【问题描述】:
我阅读了“Sams Teach Yourself SQL in 10 minutes, Third Edition”一书和第 10 课“分组数据”的“创建组”部分,我无法理解以下内容:
"除了聚合计算语句之外,SELECT 语句中的每一列都必须出现在 GROUP BY 子句中。"
为什么?我试过这个,我认为这不是真的。 例如,考虑一个包含“大陆”、“国家”、“人口”列的“世界”表。
SELECT continent, country
FROM World
GROUP BY continent;
按照书上的说法,这应该会导致错误,对吧?但事实并非如此。我可以根据大洲对我的数据进行分组(因此我们在结果中有 7 个大洲),并且在每个大洲旁边,一个随机的国家名称。
像这样
continent country
North America Canada
South America Brazil
Europe France
Africa Cameroon
Asia Japan
Australia New Zealand
Antarctica TuxLand
【问题讨论】: