免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1572 | 回复: 2
打印 上一主题 下一主题

请教一个SQL的写法,欢迎讨论 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-24 11:03 |只看该作者 |倒序浏览
假设有如下数据:
no   class   level
1    A       1  
1    A       2
1    C       1  
1    C       1  
2    A       3
2    B       2
3    B       3
3    B       3
3    C       1
3    D       2

分类class为char型,分为'A','B','C','D'
等级level为int型,分为1,2,3
现在想计算出学号no下各个学生分类class下的等级和,
如上面的数据,
则为:
No为1的学生,
class
level        A        B        C        D
1        1        0        2        0
2        1        0        0        0
3        0        0        0        0

No为2的学生
class
level        A        B        C        D
1        0        0        0        0
2        0        1        0        0
3        1        0        0        0

No为2的学生
class
level        A        B        C        D
1        0        0        1        0
2        0        0        0        1
3        0        2        0        0

数据存放在mysql下,
请问怎么用SQL语句求出各个class下level的值呢?
如果是用count(*)一个一个来求的话,岂不是要写4*3=12个SQL语句吗?

论坛徽章:
0
2 [报告]
发表于 2007-01-26 14:38 |只看该作者

回复 1楼 ibmwebsphere 的帖子

select no , class ,count(level) from tab group by no,class;

论坛徽章:
0
3 [报告]
发表于 2007-01-27 21:36 |只看该作者

回复 2楼 frseal 的帖子

谢谢,
如果想每个学号都计算出 'A','B','C','D' 下的值该怎么写SQL呢?
就是想得到:
no  class   level    COUNT
1    A         1           1
1    A         2           1
1    A         3           0
1    B         1           0
1    B         2           0
1    B         3           0
1    C        1           2
1    C         2          0
1    C         3          0
1    D         1          0
1    D         2          0
1    D         3          0
2   A          1          0
2   A          2          0
2   A          3          1
........
即每个学号都是4×3条记录(class=4,level=3,所以为4*3),请问SQL该怎么写呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP