导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

求一个自连接的sql语句

阴风马蹄客 2008-01-18 04:52:01
A表内三个字段: userid(用户id) 年级(grade) 班级(classid)
例如 ws 2007 1
aa 2007 2
bb 2007 1
cc 2008 1
能不能出一个统计形成表如下
年级(grade)班级数(classnum)人数(nums)
2007 2 3
2008 1 1

也就是从A表内查询每个年级有多少班级,每个年级有多少学生

可以用一个存储过程实现吗?请指教~~
...全文
52 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yms_wangxm 2008-01-18
select grade,classnum=count(distinct classid),nums=count(id) from #a group by grade


这就可以呀。。。
回复
阴风马蹄客 2008-01-18
不好意思,分数散给前两位了,谢谢你们大家。。
回复
zefuzhang2008 2008-01-18
select grade,count(classid),count(userid)
from a
group by grade
回复
zefuzhang2008 2008-01-18
select grade,count(classid),count(userid)
from a
回复
kk19840210 2008-01-18
create table #a (id varchar(10),grade int,classid int)
insert into #a values('ws',2007,1)
insert into #a values('aa',2007,2)
insert into #a values('bb',2007,1)
insert into #a values('cc',2008,1)

select grade,classnum=count(distinct classid),nums=count(id) from #a group by grade



grade classnum nums
----------- ----------- -----------
2007 2 3
2008 1 1

(2 行受影响)
回复
tim_spac 2008-01-18
select grade, classnum=count(distinct classid), nums=count(1)
from A表
group by grade
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告