0$房天下问答|SQL 为什么在group by中必须加上sname$https://m.fang.com/ask/ask_1010061.html$https://static.soufunimg.com/common_m/m_public/201511/images/asksharedefault.png
packc/pages/ask/detail/detail?askid=1010061
-
SQL 为什么在group by中必须加上sname
create view s_sc(sno,sname,ccount,gavg,gmax,gmin)asselect Student.Sno,sname,COUNT(cno),AVG(crade),MAX(crade),MIN(crade)from Student, scwhere Student.Sno=SC.Snogroup by Student.Sno ,sname; 为什么在group by中必须加上sname
更多
共1个回答
-
-
-
suyunxiangben
丨Lv 3
你可以看如下例子:Sno, sname, COUNT(cno), AVG(crade), MAX(crade), MIN(crade)001 aaa 0 0 0 0002 bbb 0 0 0 0001 ccc 0 0 0 0因为gourp by语句不会考虑你的主键,是否唯一等条件,而你select的可能是主键列,也可能是其他列。在上面的数据中,你如果不加入group by sname, 而你又select了sname,那么SQL在输出001这条信息时,将不知道是拿哪个sname,是aaa呢还是ccc呢?所以group by 语句必须包含所有你select 的那些列。
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关注成功