在SQL中的聚合函数

selectsnamefromstudentsjoinscons.sno=c.snogroupbysc.sno,snamehavingcount(sc.sno)>3为什么... select sname
from student s join sc
on s.sno=c.sno
group by sc.sno,sname
having count(sc.sno)>3

为什么sname一定要写在group by语句中?不是可以直接用sc.sno分组吗
展开
 我来答
百度网友f4018e7
2011-12-08 · TA获得超过243个赞
知道小有建树答主
回答量:231
采纳率:100%
帮助的人:197万
展开全部
可以直接用sno分组,但是select后面能用的字段只能是聚合函数(字段)或者是groupby子句中的字段。

如果在group by中不用sname,你可以这样写,但是你要看是否符合题目要求。
select min(sname)
from student s join sc
on s.sno=c.sno
group by sc.sno
having count(sc.sno)>3
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
是勇敢
2011-12-08 · 希望快乐渡过第一天。
是勇敢
采纳数:914 获赞数:1799

向TA提问 私信TA
展开全部
好汉,此语句并非最佳,精简。洒家之见,你要写出要实现何?以便为你解答。
聚合套函数必要与group by相连。休要与子套相混,如下:select * from oreders where partnum=(select partnum where wc.decrip like 'faaa%')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iambise
2011-12-08 · TA获得超过714个赞
知道小有建树答主
回答量:834
采纳率:50%
帮助的人:506万
展开全部
原则上,你要用group by,那么前面抽取的字段必须要作为分组依据,否则就需要sum,avg,max等函数的处理。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式