问题描述
- 求解,SQL group by的一个问题。
-
——来自scott表。
select deptno,ename
from emp
group by deptno
其中deptno,ename都是emp表中的列名,但是老师说group by之后select中只能出现分组后的整体信息,不能出现组内的详细信息,说这是错的。但是分组后ename不也是group里面的整体信息吗?本人小白才开始接触SQL,想不明白,求大神开导下,谢谢。
解决方案
group by之后select的列必须是聚合的列,比如用了max min count sum函数得到的列,不能是普通字段,道理很简单,你分组以后每个组是很多记录,没有分组的字段的值可能不同,你选择字段,你选择的是哪个呢?
解决方案二:
SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题
sql中group by的用法及版本问题
SQL: GROUP BY Clause
解决方案三:
select deptno,ename
from emp
group by deptno 是按deptno来分组,那么当你有多个相同的deptno,但是ename不同时他只会显示第一条的结果,其他的不显示,group by 是跟聚会函数一起使用才体现他的功能
解决方案四:
你一个组里所有name一样啊?name是个人信息,不是整体信息
解决方案五:
group by与聚合函数一起用,你的sql里只有列名,没有函数
时间: 2024-11-03 21:02:45