求一个自连接的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表内查询每个年级有多少班级,每个年级有多少学生

可以用一个存储过程实现吗?请指教~~
...全文
96 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧