这条语句为什么不行?select szx所在系 , count(*) 学生人数 from sgrade where szx计算机系go为什么不
这条语句为什么不行? select szx 所在系 , count(*) 学生人数 from sgrade where szx='计算机系' go 为什么不行?为什么以下语句才可以: select '计算机系' 所在系 , count(*) 学生人数 from sgrade where szx='计算机系' go
select '计算机系' 是什么意思呢?'计算机系'是szx的一个值。 [解决办法] select szx as '所在系' , count(*) 学生人数 from sgrade where szx='计算机系' group by szx go [解决办法]
+1 [解决办法]
第一个之所以报错是因为,你用了聚合函数count,而select中又有:所在系 列,所以必须改为:
select szx 所在系 , count(*) 学生人数 from sgrade where szx='计算机系' group by 所在系
第2个语句之所以是对的,是因为,'计算机系' 只是一个值,另外加了一个 所在系 别名,所以不需要在group by中再加上 所在系 字段。 [解决办法] 用了聚合函数count ,就必须用分组 group by [解决办法] select szx as '所在系' , count(*) 学生人数 from sgrade where szx='计算机系' group by szx go