CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

mysql根据数据表某字段的范围条件进行统计

楼主wakenwu()2005-01-18 10:51:48 在 其他数据库开发 / MySQL/Postgresql 提问

我有一张表(学生选课表)有以下字段:id(key),nameid   ,courid,score,每个学生可以选择多门课,而没门科也可由多个学生选,现在我想根据学生的成绩,统计出每个学生有几门课通过(score>=60),几门课没通过(score<60),请问怎么写sql语句;或怎么实现这种查询 问题点数:60、回复次数:4Top

1 楼sinp(大沙锥)回复于 2005-01-18 11:14:33 得分 20

一条语句可能不成吧。  
  我觉得,你这个数据库应该是,一个条记录包含的是一个学生,选修的一门课程,以及成绩。  
  select   count(*)   from   XXX   where   score   >=60   group   by   nameid;  
  select   count(*)   from   XXX   where   score   <60   group   by   nameid;  
  要用两个来查询的吧。  
   
  或者select   count(*)   from   XXX   group   by   nameid;  
  得到一个数字,也就是这个学生选修了多少门。  
  select   count(*)   from   XXX   where   score   >=60   group   by   nameid;  
  得到另一个数字,然后相减。Top

2 楼mathematician(数学家)回复于 2005-01-18 12:50:28 得分 0

通过:  
  SELECT   nameid,  
  (SELECT   COUNT(*)   FROM   suu   as   a   WHERE   a.nameid=b.nameid   AND   a.score>=60)   as   PASS  
  FROM   suu   as   b   GROUP   by   nameid;  
  没通过:  
  SELECT   nameid,  
  (SELECT   COUNT(*)   FROM   suu   as   a   WHERE   a.nameid=b.nameid   AND   a.score<60)   as   PASS  
  FROM   suu   as   b   GROUP   by   nameid;Top

3 楼wakenwu()回复于 2005-01-18 14:17:40 得分 0

我用的是mysql,不知道怎么能把这两条语句写在一起,两个结果同时作为输出,因为我要输出好多条这样的记录(数据集输出)Top

4 楼mathematician(数学家)回复于 2005-01-19 10:37:43 得分 40

SELECT   nameid,  
  (SELECT   COUNT(*)   FROM   suu   as   a   WHERE   a.nameid=b.nameid   AND   a.score>=60)   as   PASS,  
  (SELECT   COUNT(*)   FROM   suu   as   a   WHERE   a.nameid=b.nameid   AND   a.score<60)   as   FAIL  
  FROM   suu   as   b   GROUP   by   nameid;Top

相关问题

  • 如何得到MYSQL中某个数据表中字段的总数?
  • 数据表字段类型的问题?
  • mysql里面某个常用数据表字段太多会不会对数据库造成不良影响?
  • 如何检测数据表中某个字段是否存在?
  • VFP中,怎样动态修改数据表的字段名称?
  • 怎样在Image中显示数据表中的Image字段值?
  • 如何用代码删除数据表的一个字段?(keani)
  • 如何动态创建数据表,实现增、删改字段
  • 怎么判断数据表中某个字段是否存在?
  • 如何动态插入一个数据表的字段?

关键词

  • 学生
  • nameid
  • score
  • 课
  • 通过
  • suu as a where
  • select count
  • group

得分解答快速导航

  • 帖主:wakenwu
  • sinp
  • mathematician

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo