怎么从数据库查询ABC类的人数,并显示到jsp页面
数据库中考核表有总评等级,ABC三个等级,关联学生表,班级表。显示的内容是班级名称,班级人数,已考核人数(就是评了ABC等级的人数),A等级人数,B等级人数,C等级人数。...
数据库中考核表有总评等级,ABC三个等级,关联学生表,班级表。显示的内容是班级名称,班级人数,已考核人数(就是评了ABC等级的人数),A等级人数,B等级人数,C等级人数。有五个人A等级1个,B等级2个,C等级2个,我要从数据库查出来并且显示到 jsp 页面,该怎么写查询语句。考核表有id 班级id 学生id,关联对应的表
select score_class_id,class_name,count(student_id),
sum(case when score_overall is not null then 1 else 0 end) SC,
sum(case when score_overall='A' then 1 else 0 end) A,
sum(case when score_overall='B' then 1 else 0 end) B,
sum(case when score_overall='C' then 1 else 0 end) C
from score,student,class
where score_student_id = student_id
and score_class_id = class_id group by score_class_id
可惜的是不知道怎么在添加上分页 展开
select score_class_id,class_name,count(student_id),
sum(case when score_overall is not null then 1 else 0 end) SC,
sum(case when score_overall='A' then 1 else 0 end) A,
sum(case when score_overall='B' then 1 else 0 end) B,
sum(case when score_overall='C' then 1 else 0 end) C
from score,student,class
where score_student_id = student_id
and score_class_id = class_id group by score_class_id
可惜的是不知道怎么在添加上分页 展开
展开全部
public List<Emp> findAll() throws Exception {
Connection conn=BaseDao.getCon();//BaseDao是链接数据库文件
Statement stat=conn.createStatement();
String sql="select * from t_emp";
ResultSet rs = stat.executeQuery(sql);
List<Emp> list=new ArrayList<Emp>();//Emp是实体类,装get()和set()
while(rs.next()){
Emp e=new Emp();
e.setId(rs.getLong("表字段"));
e.setName(rs.getString("表字段"));
e.setSalary(rs.getDouble("表字段"));
e.setAge(rs.getInt("表字段"));
list.add(e);
}
request.setAttribute("标志", list);
BaseDao.close(conn);
return list;
}
//将数据库中的信息查询在list中,然后在jsp那边接收
<%
List<Emp> users = (List<Emp>) request.getAttribute("标志");
for (Emp e : users) {
long id = e.getId();
String name = e.getName();
double salary = e.getSalary();
int age = e.getAge();
%>
//上面得到所有数据了,想用就
<%=id%>
Connection conn=BaseDao.getCon();//BaseDao是链接数据库文件
Statement stat=conn.createStatement();
String sql="select * from t_emp";
ResultSet rs = stat.executeQuery(sql);
List<Emp> list=new ArrayList<Emp>();//Emp是实体类,装get()和set()
while(rs.next()){
Emp e=new Emp();
e.setId(rs.getLong("表字段"));
e.setName(rs.getString("表字段"));
e.setSalary(rs.getDouble("表字段"));
e.setAge(rs.getInt("表字段"));
list.add(e);
}
request.setAttribute("标志", list);
BaseDao.close(conn);
return list;
}
//将数据库中的信息查询在list中,然后在jsp那边接收
<%
List<Emp> users = (List<Emp>) request.getAttribute("标志");
for (Emp e : users) {
long id = e.getId();
String name = e.getName();
double salary = e.getSalary();
int age = e.getAge();
%>
//上面得到所有数据了,想用就
<%=id%>
更多追问追答
追问
很感谢你回答。但是我的问题在于,我不知道怎么通过 sql 语句,将三表关联的分类数据查询并统计出来,赋给 jsp 页面。A等级人数,B等级人数,C等级人数,通过group by 能查出来但是不知道怎么赋给这三个列。我是ssm框架,谢谢
追答
之前没看清楚,你是要sql语句吧,不知道这样行不行
select 1表.人数字段,2表.人数字段 ,3表.人数字段 form 1表,2表,3表 where 1表.人数字段 in(select 人数字段 form 1表)
and
2表.人数字段 in(select 人数字段 form 2表)
and
3表.人数字段 in(select 人数字段 form 3表)
|
|
括号里面的是各个表要查询的内容,in就是赋给外面
,不知道对不对,好久没写过sql语句了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |