首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这条话语为什么不行

2013-11-20 
这条语句为什么不行?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
[解决办法]

引用:
select szx as '所在系' , count(*) 学生人数 from sgrade 
where szx='计算机系'
group by szx
go

+1
[解决办法]
引用:
select szx  所在系 , count(*) 学生人数 from sgrade 
where szx='计算机系'
go
为什么不行?为什么以下语句才可以:
select '计算机系'  所在系 , count(*) 学生人数 from sgrade 
where szx='计算机系'
go

select '计算机系' 是什么意思呢?'计算机系'是szx的一个值。


第一个之所以报错是因为,你用了聚合函数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 

热点排行